Почему 3 дополнительных HTTP-запроса выполняются, если вы используете asp.Net Ajax-вызов к веб-службе .net? - PullRequest
1 голос
/ 04 апреля 2011

Когда я читал блог Использование jQuery для использования веб-служб JSON ASP.NET

Я видел этот аргумент:

" Используя jQuery для прямого вызова веб-службы, мы устранили более 100 КБ JavaScript и три дополнительных HTTP-запроса. "

Почему для вызова ASP.NET AJAX веб-службы .NET требуются 3 дополнительных HTTP-запроса? Каковы эти запросы? (Интересно, как в этом случае jQuery управляет вызовом с меньшими HTTP-запросами).

Ответы [ 2 ]

3 голосов
/ 05 апреля 2011

Вероятно, лучший способ понять разницу - это загрузить оба примера и сами поработать над ними в Firebug, Fiddler или аналогичном имении.

Эти скриншоты сетевого трафика для обоих довольно понятны ((обе эти страницы выполняют одно и то же: одна с jQuery, другая с MicrosoftAjax.js):

Использование MicrosoftAjax.js:

enter image description here

Использование jQuery:

enter image description here

Я не уверен, почему сейчас разница составляет всего 90 тыс. (Но есть и дополнительный HTTP-запрос).Думаю, что-то связанное с версией сценариев MSAjax.js, которые использовались в версии 3.5 / 4.0, по сравнению с версиями 2.0, которые я использовал при написании этой статьи.

Даже если ваше кэширование настроено правильно и эти WebResourceСценарии / ScriptResource кэшируются, трудно получить кэшированный прокси-сервер службы JS (jsdebug на снимке экрана выше), который вам придется загружать один раз для каждой соответствующей службы ASMX / WCF, на которую вы ссылаетесь через ScriptManager.Они также могут быть довольно большими (взгляните на YourService.asmx / js или YourService.asmx / jsdebug, чтобы получить представление), тогда как сервисный прокси no необходим для подхода jQuery.Весь этот прокси-сервер существует просто для включения синтаксиса вызова YourService.YourMethod() вместо указания пути YourService.asmx/YourMethod самостоятельно.Разница в удобстве ничтожна;не стоит накладных расходов ИМО.

1 голос
/ 04 апреля 2011

Я полагаю, что автор имел в виду запросы, необходимые для загрузки самой библиотеки MS AJAX. Следовательно, дополнительные 100 КБ.

...