页面生成时间 – ASP.Net MVC

前端之家收集整理的这篇文章主要介绍了页面生成时间 – ASP.Net MVC前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种跟踪服务器生成页面花费多长时间的方法。我知道我可以使用Trace跟踪这个,但是我需要一种方式来显示每个页面

它的ASP.Net MVC 2

解决方法

是的Derin建议是在ASP.NEt应用程序中做标准的方法,我只是建议添加一个如果这样,它不会干扰非HTML响应:
编辑:添加完成实现
public class PerformanceMonitorModule : IHttpModule
{

    public void Init(HttpApplication context)
    {
        context.PreRequestHandlerExecute += delegate(object sender,EventArgs e)
        {
            //Set Page Timer Star
            HttpContext requestContext = ((HttpApplication)sender).Context;
            Stopwatch timer = new Stopwatch();
            requestContext.Items["Timer"] = timer;
            timer.Start();
             };
        context.PostRequestHandlerExecute += delegate(object sender,EventArgs e)
        {

            HttpContext httpContext = ((HttpApplication)sender).Context;
            HttpResponse response = httpContext.Response;
            Stopwatch timer = (Stopwatch)httpContext.Items["Timer"];
            timer.Stop();

            // Don't interfere with non-HTML responses
            if (response.ContentType == "text/html")
            {
                double seconds = (double)timer.ElapsedTicks / Stopwatch.Frequency;
                string result_time = string.Format("{0:F4} sec ",seconds);
                RenderQueriesToResponse(response,result_time);
            }
        };
    }
    void RenderQueriesToResponse(HttpResponse response,string result_time)
    {
        response.Write("<div style=\"margin: 5px; background-color: #FFFF00\"");
        response.Write(string.Format("<b>Page Generated in "+ result_time));
        response.Write("</div>");
    }
    public void Dispose() { /* Not needed */ }
}

你也可以添加一些风格…

并记住在httpConfig部分的WebConfig中注册你的模块:

<add name="Name" type="namespace,dll"/>

有关此检查的完整参考,请参阅Steven Sanderson的Pro ASP.NET MVC框架 – 第15章 – 性能,监视页面生成时间。

编辑:(评论@Pino)
这是我的项目的例子:
alt text http://www.diarioplus.com/files/pictures/example_performance.JPG

猜你在找的asp.Net相关文章