答案请检查您的html结构。
我有控制器和行动。
public class HomeController
{
private Stopwatch controller_action;
public HomeController()
{
controller_action = new Stopwatch();
controller_action.Start();
}
public ActionResult Cars(KendoDataSourceRequest request)
{
controller_action.Stop();
System.Diagnostics.Debug.WriteLine(controller_action.Elapsed);
}
}
我从弹出窗口调用动作汽车。
我的行动: 我打开弹出窗口,赶上100ms 我关闭弹出窗口 我打开弹出窗口,赶上200ms ...
这一次又一次地重复100ms,200,300 ......
如何检查结束构造函数之后和启动操作之前发生了什么?
更新 我使用miniProfiler我有结果:
这只是Chrome中的IE8和IE9都非常好
答案 0 :(得分:1)
结帐MiniProfiler。它非常容易集成到MVC中,并且可以直接在应用程序的UI中提供有关您的操作和MVC幕后工作的精彩信息。
您还可以使用它来添加自定义分析消息,这些消息可以在调试期间自动打开,但关闭生产代码。
答案 1 :(得分:0)
是不是.NET开源的MVC框架?您可以下载源代码并查找。
它继续递增的原因可能是因为创建了一个控制器实例,并重新用于多个请求。不,没关系。
答案 2 :(得分:0)
好吧,Stopwatch.Stop()不会重置经过的时间间隔。 所以看起来如果你关闭弹出窗口&重新打开它,你从第一次Start()调用获得当前时间差。
也许你的方法应该是这样的:
public ActionResult Cars(KendoDataSourceRequest request)
{
controller_action.Stop();
System.Diagnostics.Debug.WriteLine(controller_action.Elapsed);
controller_action.Restart();
}