2010-05-24 19 views
1

我想检查asp.net mvc应用程序中每个页面的呈现时间。在ASP.MVC中跟踪页面呈现时间

我正在使用asp.net跟踪。我已经覆盖了BaseController类的OnActionExecuting和OnActionExecuted方法。

protected override void OnActionExecuting(ActionExecutingContext filterContext) 
     { 
      string controler = filterContext.RouteData.Values["controller"].ToString(); 
      string action = filterContext.RouteData.Values["action"].ToString(); 
      StartTime =System.DateTime.Now; 

      System.Diagnostics.Trace.Write(string.Format("Start '{0}/{1}' on: {2}", controler, action, System.DateTime.Now.UtilToISOFormat())); 
     } 
     protected override void OnActionExecuted(ActionExecutedContext filterContext) 
     { 
      string controler = filterContext.RouteData.Values["controller"].ToString(); 
      string action = filterContext.RouteData.Values["action"].ToString(); 
      var totalTime = System.DateTime.Now - this.StartTime; 
      System.Diagnostics.Trace.Write(totalTime.ToString()); 
      System.Diagnostics.Trace.Write(string.Format("End '{0}/{1}' on: {2}", controler, action, System.DateTime.Now.UtilToISOFormat())); 

     } 

在OnActionExecuted方法我得到总时间。我如何在我的http://localhost:51335/Trace.axd报告中显示这个时间?

即使我在每页上也设置了Trace="true" <%@ Page%>。

回答

1

经典ASP.NET在你的aspx代码中使用以下内容:Page.Trace.Write(totalTime.ToString());

在MVC中,通常可使用System.Diagnostics.Trace.Write(...因为你这样做,所以这段代码是正确的。

在你的web.config试试这个,它的路线System.Diagnostics.Trace到ASP.NET跟踪:

<system.diagnostics> 
<trace> 
    <listeners> 
     <add name="WebPageTraceListener" 
      type="System.Web.WebPageTraceListener, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
    </listeners> 
    </trace> 
</system.diagnostics> 

另一件事,你可以尝试使用Controller.HttpContext.Trace而是我无法测试,现在因为我从我的电话写这个,所以请让我知道是否有效

此页面显示更多关于使所有System.Diagnostics.Trace消息显示在您的Trace.axd - http://msdn.microsoft.com/en-us/library/b0ectfxd%28v=VS.85%29.aspx

+0

谢谢@@ Daniel ...跟踪报告创建正常,但我仍然无法检查该报告中的页面加载时间。 – Pankaj 2010-05-24 10:22:50

+0

您是否能够从Trace.axd页面发布跟踪信息输出?这可能有帮助。 – 2010-05-24 10:38:28

+0

是的,我得到Trace.axd页面跟踪信息,但没有获取页面加载时间细节 – Pankaj 2010-05-24 10:44:18