Действие контроллера ASP.NET MVC5 занимает 4 секунды или около того
У меня есть два представления: Product/List, в котором отображается список продуктов, и Product/Details/{id}, в котором отображаются сведения о продукте с указанным идентификатором.
Каждый раз, когда пользователь нажимает на элемент продукта в представлении "Продукт / Список", чтобы перейти к представлению "Продукт / Детали / {id}", это занимает около 4 секунд. Я изучал то, что занимает так много времени, и хотел бы сделать это немного быстрее.
Итак, я обновил свой метод действия Details следующим образом, предполагая, что вызов базы данных в конструкторе ProductDetailsViewModel (int) вызывает задержку.
[Route("Product/Details/{id}")]
public ActionResult Details(int? id) {
Stopwatch watch = new Stopwatch();
watch.Start();
var viewModel = new ProductDetailsViewModel(id);
watch.Stop();
int duration = watch.Elapsed.Milliseconds;
return View(viewModel);
}
Но это не так. duration
составляет всего около 500 до 600 миллисекунд.
Я гуглил и сделал что-то подобное, предоставленное Ником на http://nickberardi.com/timing-the-execution-time-of-your-mvc-actions/
И я последовательно получаю около 4 секунд за время загрузки Product/Details/{id}. Смотрите скриншот (инструменты разработчика Chrome) ниже.
Я немного озадачен. Что еще может вызывать выполнение метода действия так долго? Любая идея? Благодарю.
ОБНОВЛЕНО с помощью временной шкалы Glimpse.Mvc5: