.aspx vs .ashx ОСНОВНА різниця


115

Які відмінності між .aspx та .ashx сторінками? Я використовую ashx зараз, коли мені потрібно обробляти запит, який викликався з коду та повертався з відповіддю, але я хотів би отримати більш технічну відповідь.

Відповіді:


101

Page є спеціальним обробником справ.

Загальний веб-обробник ( *.ashxпроцесор на основі розширень) - це HTTP-обробник за замовчуванням для всіх веб-обробників, які не мають інтерфейсу користувача та включають @WebHandlerдирективу.

Обробник сторінок ASP.NET ( *.aspx) - це обробник HTTP за замовчуванням для всіх сторінок ASP.NET.

Серед вбудованих HTTP-обробників є також обробник веб-служб ( *.asmx) та Trace обробник ( trace.axd)

MSDN каже :

Обробник HTTP ASP.NET - це процес (часто його називають «кінцевою точкою»), який запускається у відповідь на запит, зроблений веб-програмою ASP.NET. Найпоширеніший обробник - це обробник сторінки ASP.NET, який обробляє файли .aspx. Коли користувачі запитують файл .aspx, запит обробляється сторінкою через обробник сторінки.

Зображення нижче ілюструє це: запит трубопроводу

Щодо вашого другого питання:

Чи підтримує ashx більше з'єднань, ніж aspx?

Не думайте так (але точно, принаймні, не менше).


дякую, але ви не згадали обробника ashx, а як же його запит на трубопроводі?
Аррабі

1
@Arrabi - HttpHandlerце лише розділ запиту, який виконується перед Pageрозділом.
Алекс

82

.aspxвикористовує повний життєвий цикл ( Init, Load, PreRender) і може реагувати на натискання кнопок і т.д. мають тільки один метод.
.ashxProcessRequest


Що означає "багаторазовий використання" в цьому контексті?
redcalx

11
Що веб-сервер не зобов’язаний створювати новий екземпляр об'єкта за новим запитом. Якщо IsReusable = true на обробці, сервер може повторно використовувати наявні
оброблюючі

2
Таким чином, він створює екземпляр обробника і зберігає в пам'яті для його повторного використання. Це ніколи не повертає його до GC.
uzay95

26

.aspx - відображена сторінка. Якщо вам потрібен перегляд, використовуйте сторінку .aspx. Якщо все, що вам потрібно, це функція доповнення, але ви будете залишатися в одному і тому ж представленні, скористайтеся .ashx сторінкою.


що я знаю, я хотів отримати більш технічну відповідь, можливо, з цифрами, чи справляється ashx більше зв'язку, ніж aspx?
Аррабі

1

Для людей, які раніше програмувались у nodeJ, особливо використовуючи expressJS. Я думаю, .ashxяк проміжне програмне забезпечення, яке викликає nextфункцію. Поки .aspxбуде контролер, який реально відповідає на запит або навколо res.redirect, res.sendабо що завгодно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.