Вероятно, лучший способ понять разницу - это загрузить оба примера и сами поработать над ними в Firebug, Fiddler или аналогичном имении.
Эти скриншоты сетевого трафика для обоих довольно понятны ((обе эти страницы выполняют одно и то же: одна с jQuery, другая с MicrosoftAjax.js):
Использование MicrosoftAjax.js:
Использование jQuery:
Я не уверен, почему сейчас разница составляет всего 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
самостоятельно.Разница в удобстве ничтожна;не стоит накладных расходов ИМО.