加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

页面生成时间 – ASP.Net MVC

发布时间:2020-12-16 00:22:45 所属栏目:asp.Net 来源:网络整理
导读:我正在寻找一种跟踪服务器生成页面花费多长时间的方法。我知道我可以使用Trace跟踪这个,但是我需要一种方式来显示每个页面。 它的ASP.Net MVC 2 解决方法 是的Derin建议是在ASP.NEt应用程序中做标准的方法,我只是建议添加一个如果这样,它不会干扰非HTML响
我正在寻找一种跟踪服务器生成页面花费多长时间的方法。我知道我可以使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读