ASP.NET MVC и Ajax работают медленно? - PullRequest
3 голосов
/ 12 августа 2010

Я только начал пробовать MVC 2 и Ajax, и мне интересно, делаю ли я что-то не так, потому что у меня сложилось впечатление, что Ajax очень быстро внесет изменения в веб-страницу. У меня есть пример с Ajax actionlink:

<div>
  <%: Ajax.ActionLink("Dita", "AjaxView", new AjaxOptions { UpdateTargetId = "myDiv" })%>
</div>
<div id="myDiv">
    Change this text</div>

И метод действия:

public ActionResult AjaxView(string id)
{
     return Content("Text changed!"); ;

}

Это довольно короткая простая текстовая строка, и все же она занимает около 1-2 секунд, прежде чем текст появляется. Возможно, ajax не должен делать то, что, как я думал, будет, но я подумал, что мог бы использовать его для мгновенного предварительного просмотра текста и изображений, вроде функции прокрутки (кстати, мне было интересно, можно ли установить actionlink для вызова метод действия при наведении курсора мыши вместо нажатия?)

Это нормально, что это так медленно или я что-то упустил?

Ответы [ 2 ]

3 голосов
/ 12 августа 2010

Возможно, это проблема разрешения IPv6 DNS с FF и Chrome при работе с localhost. Исправления описаны здесь:

Firefox и Chrome работают медленно на localhost; известное исправление не работает в Windows 7

и здесь

https://superuser.com/questions/174715/is-there-a-way-to-disable-ipv6-in-googles-chrome

Я бы сначала попытался в IE и Opera проверить, работает ли он быстрее.

Примечание: если это действительно проблема, это не имеет никакого отношения к AJAX.

0 голосов
/ 12 августа 2010

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

Суть в том, что когда вы вызываете AjaxView, ему все равно приходится перезванивать на сервер, что займет время независимо от того, что вы делаете. Причина, по которой это действие медленное, может зависеть от разных факторов; - Ваш сервер может быть занят чем-то другим, следовательно, потребляет ресурсы - Вы только что собрали сборку, делая вызов медленнее в первый раз около

...