Asp.net 跟踪中ASP.MVC中的页面呈现时间

Asp.net 跟踪中ASP.MVC中的页面呈现时间,asp.net,trace,Asp.net,Trace,我想检查asp.net mvc应用程序中每个页面的渲染时间 我正在使用asp.net跟踪。我已重写BaseController类上的OnActionExecuting和OnActionExecuted方法 protected override void OnActionExecuting(ActionExecutingContext filterContext) { string controler = filterContext.RouteData.Va

我想检查asp.net 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”

经典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>


经典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>


谢谢@@Daniel…跟踪报告创建得很好,但我仍然无法检查该报告中的页面加载时间。您是否能够发布从Trace.axd页面输出的跟踪信息?这可能会有所帮助。是的,我正在获取带有跟踪信息的Trace.axd页面,但未获取页面加载时间详细信息谢谢@@Daniel…现在工作正常…谢谢s感谢您的帮助。@@@Daniel…跟踪报告正在创建中,但我仍然无法检查该报告中的页面加载时间。您是否能够发布从Trace.axd页面输出的跟踪信息?这可能会有所帮助。是的,我正在获取带有跟踪信息的Trace.axd页面,但未获取页面加载时间详细信息谢谢@@Daniel…工作正常n哦…谢谢你的帮助