У меня есть проект ASP.NET MVC3, где главная страница aspx выполняет динамическую загрузку своих частей с использованием jQuery ajax. . Таким образом, в основном, когда сайт загружается, он попадает в /Home/Index, а затем в представлении Index (aspx) есть несколько строк jQuery, которые выполняют вызовы ajax (в /Home/PartOne и /Home/PartTwo для заполнения частей страницы.
Таким образом, каждый раз, когда страница загружается, она в основном выполняет 3 запроса: получить индекс, получить PartOne и затем PartTwo.
Вопрос: Почему существует какое-то время «ожидания» для третьего запроса? Я думал, что это предел одновременных запросов браузера, но почему он не выполняется после выполнения 1-го запроса?
выполнялся быстро. Это намекает на то, что проблема не в IIS, а где-то после этого и до того, как она попадет в мой метод действия.
Вот снимок экрана из сетевого профилировщика Chrome:
Вот снимок экрана MvcMiniProfiler — посмотрите на 3-ю строку/значение, оно ожидает 500 мс перед выполнением кода действия моего контроллера.
Код моего контроллера выглядит так. Хотя я вырезал реальный код, но код для PartTwo очень тривиален (без долгих вычислений, без вызовов базы данных и т. д.):
public class HomeController : Controller {
public ActionResult Index() {
// do something here
return View();
}
public ActionResult PartOne() {
// do something here
return View();
}
public ActionResult PartTwo() {
// do something here
return View();
}
}
Мой javascript:
$(document).ready(function () {
$.ajax({
url: "/Home/PartOne",
cache: false,
success: function (data, textStatus, request) {
$("#TestContainerOne").html(data);
}
});
$.ajax({
url: "/Home/PartTwo",
cache: false,
success: function (data, textStatus, request) {
$("#TestContainerTwo").html(data);
}
});
});
Мой index.aspx:
<h2>Home page</h2>
<div id="TestContainerOne"></div>
<div id="TestContainerTwo"></div>
PartOne.ascx:
<h2>Part One</h2>
Часть вторая.ascx:
<h2>Part Two</h2>
Справка?