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

감사합니다 ... 추적 보고서는 잘 만드는하지만 여전히 나는 그 보고서에 페이지로드 시간을 확인할 수 없습니다입니다. – Pankaj

+0

Trace.axd 페이지에서 추적 정보 출력을 게시 할 수 있습니까? 도움이 될 것입니다. –

+0

예 Trace.axd 페이지에 추적 정보가 표시되지만 페이지로드 시간에 대한 세부 정보가 표시되지 않습니다. – Pankaj