Подтвердить что ты не робот

.aspx vs .ashx ОСНОВНАЯ разница

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

4b9b3361

Ответ 1

Page - специальный обработчик.

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

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

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

MSDN говорит:

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

Ниже приведено изображение ниже: request pipe line

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

Использует ли ashx больше соединений, чем aspx?

Не думайте так (но наверняка, по крайней мере, не менее).

Ответ 2

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

Ответ 3

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

Ответ 4

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