我在电话会议开始之前花的时间在哪里?

时间:2013-04-03 16:37:27

标签: c# asp.net-mvc

  

答案请检查您的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我有结果:

enter image description here

这只是Chrome中的IE8和IE9都非常好

3 个答案:

答案 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();
   }