Насколько эффективен Microsoft ASP.NET Ajax? - PullRequest
1 голос
/ 02 апреля 2009

Есть ли какие-либо исследования эффективности ASP.NET Ajax от Microsoft?

Ответы [ 3 ]

4 голосов
/ 02 апреля 2009

Если по какой-то причине вы решили использовать инструментарий MS Ajax вместо чего-то похожего на jQuery или YUI, есть некоторые вещи, которые вы можете сделать, чтобы значительно повысить производительность.

Включить кэширование в обработчике ресурсов скрипта

В вашем web.config:

<system.web.extensions>
  <scripting>
    <scriptResourceHandler enableCompression=“true” enableCaching=“true”/>
  </scripting>
</system.web.extensions>

Сценарий объединения

Используйте функцию CompositeScript в ASP.NET 3.5, чтобы объединить все сценарии MS Ajax в один файл, сохраняя HTTP-запросы (по умолчанию эта платформа генерирует тонну из них!).

<asp:ScriptManager ID=”ScriptManager″ runat=”server” EnablePartialRendering=”false” ScriptMode=”Release” LoadScriptsBeforeUI=”false”>
    <CompositeScript>
        <Scripts>
            <asp:ScriptReference Name=”MicrosoftAjax.js” />
            <asp:ScriptReference Name=”AjaxControlToolkit.Common.Common.js” Assembly=”AjaxControlToolkit, Version=3.0.20229.23352, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e” />
            .... etc
        </Scripts>
    </CompositeScript>
</asp:ScriptManager>

Чтобы выяснить, какие скрипты вызывает каждая ваша страница, вы можете использовать ScriptReferenceProfiler , доступный в Codeplex.

С точки зрения того, разумно ли использовать эту платформу, есть несколько вещей, которые следует учитывать.

  • Как уже упоминалось выше, ваше приложение общедоступно или для интрасети? Если он не обслуживается в Интернете, производительность не так важна.

  • Ваше приложение разработано с использованием веб-форм или MVC?

  • Если вы используете веб-формы, инструментарий MS Ajax достаточно гармонично работает с этой моделью, особенно если вы в целом разрабатываете стиль перетаскивания RAD.

  • Однако jQuery является гораздо лучшим партнером для MVC, и Microsoft до некоторой степени признала это самостоятельно, поскольку они будут связывать jQuery (и поддержку intellisense) с будущими версиями Visual Studio.

  • MS Ajax, безусловно, гораздо более тяжелый фреймворк, чем многие альтернативы. Другая критика, не связанная с производительностью, заключается в том, что это что-то вроде черного ящика, и его сложно отладить.

1 голос
/ 02 апреля 2009

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

Если бы я создавал общедоступный веб-сайт, я бы не использовал его. Я бы пошел с MVC и Jquery или другой платформой все вместе.

0 голосов
/ 02 апреля 2009

Microsoft Ajax (в частности, панель обновления) имеет некоторые проблемы с производительностью.

Вместо того, чтобы пытаться объяснить это, лучше взглянуть на эту статью в журнале MSDN.

http://msdn.microsoft.com/en-us/magazine/cc163363.aspx

В частности, на рисунке 7 показаны размеры запросов и ответов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...