.aspx против .ashx ОСНОВНАЯ разница - PullRequest
104 голосов
/ 29 марта 2011

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

Ответы [ 3 ]

94 голосов
/ 29 марта 2011

Page - это особый обработчик.

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

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

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

MSDN говорит :

Обработчик ASP.NET HTTP - это процесс (часто называемый "конечная точка "), которая запускается в ответ на запрос веб-приложения ASP.NET.Самым распространенным обработчиком является обработчик страниц ASP.NET, который обрабатывает файлы ASPX.Когда пользователи запрашивают файл .aspx, запрос обрабатывается страницей через обработчик страницы.

Изображение ниже иллюстрирует это: request pipe line

Что касается вашего второго вопроса:

Может ли ashx обрабатывать больше соединений, чем aspx?

Не думаю (но точно, по крайней мере, не меньше).

75 голосов
/ 29 марта 2011

.aspx использует полный жизненный цикл (Init, Load, PreRender) и может реагировать на нажатия кнопок и т. Д.
У .ashx есть только один ProcessRequest метод.

24 голосов
/ 29 марта 2011

.aspx - это отображаемая страница. Если вам нужен вид, используйте страницу .aspx. Если все, что вам нужно, это функциональность бэкэнда, но он останется в том же виде, используйте страницу .ashx.

...