我有两个视图:Product / List,显示产品列表,Product / Details / {id},显示给定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毫秒。
我用Google搜索并做了类似尼克在http://nickberardi.com/timing-the-execution-time-of-your-mvc-actions/
提供的内容对于Product / Details / {id}的加载时间,我总是持续4秒钟。请参阅下面的屏幕截图(chrome dev工具)。
我很困惑。还有什么可能导致执行动作方法花费这么长时间?任何的想法?感谢。
更新了Glimpse.Mvc5时间表: