У меня есть проект ASP.NET MVC3, в котором главная страница aspx выполняет динамическую загрузку своих частей с помощью jQuery ajax. Таким образом, в основном, когда сайт загружается, он обращается к / Home / Index, а затем в представлении Index (aspx), есть несколько строк jQuery, которые делают вызовы ajax (в / Home / PartOne и / Home / PartTwo для заполнения частей страницы.
Таким образом, каждый раз, когда страница загружается, она в основном выполняет 3 запроса: получить индекс, получить PartOne, а затем PartTwo.
Вопрос: почему существует какое-то время ожидания для выполнения третьего запроса? Я думал, что это был предел одновременных запросов браузера, но почему он не выполняется после выполнения 1-го запроса?
Когда я экспериментально помещаю атрибут «OutputCache» в «PartTwo», он ведет себя так, как ожидалось, что он выполнялся быстро. Это намекает на то, что проблема не в IIS, а где-то после этого и до того, как он достигнет моего метода действия.
Вот скриншот из профилировщика сети Chrome:
![Chrome network profiler](https://i.stack.imgur.com/MA3rr.png)
Вот снимок экрана на MvcMiniProfiler - посмотрите на 3-ю строку / значение, она ждет 500 мс, прежде чем выполнить код действия моего контроллера.
![enter image description here](https://i.stack.imgur.com/t1QGI.png)
Код моего контроллера выглядит следующим образом. Несмотря на то, что я перехватил реальный код, но код для 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>
PartTwo.ascx:
<h2>Part Two</h2>
Помощь