ASPX или ASHX как страница сервера ajax? - PullRequest
1 голос
/ 05 октября 2009

Что лучше всего с точки зрения производительности / скорости при рассмотрении страницы сервера ajax ASP.NET, которая возвращает результаты обратно в вызов ajax в javascrit? файл ASPX или ASHX?

Ответы [ 2 ]

2 голосов
/ 05 октября 2009

Я думаю, что самый важный вопрос - кешируется ли результат, и если да, то кешируется ли он публично или в частном порядке.

Если служба представляет собой просто поиск данных (в отличие от вызова, который фактически изменяет данные), тогда вы можете установить заголовки ответа, которые включают кэширование на стороне клиента. Если данные также являются общедоступными, вы можете установить заголовки ответов, чтобы прокси-серверы и т. Д. Могли кэшировать данные. И если данные часто запрашиваются, это может снять нагрузку с вашего веб-сервера.

Но для этого требуется, чтобы запрос был операцией HTTP GET, которую может обработать ASHX-файл. Но WebMethod сгенерирует HTTP POST.

Так что, если включение кэширования ответа клиента имеет какой-либо смысл, переходите на ASHX. Например, если данные меняются каждую секунду, включать кэширование клиента не имеет смысла. И если запрос на самом деле изменяет данные, то нет смысла кэшировать и данные клиента.

В противном случае я не думаю, что существует какой-либо серьезный недостаток производительности одного или другого метода.

0 голосов
/ 05 октября 2009

Я не сравнивал, но я думаю, что если вы используете Page Methods, то они должны работать сравнимо с ASHX, поскольку нет дополнительных вызовов для других методов, кроме одного, указанного в запросе ajax.

...