2010-05-24 18 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