asp.net计算每个页面执行时间的方法

时间:2022-05-20 17:08:29

本文实例讲述了asp.net计算每个页面执行时间的方法。分享给大家供大家参考。具体分析如下:

这里的asp.net代码可实现计算每个页面的执行时间,无需要修改页面的相关代码,这段代码会给所有的页面统一加上执行时间显示

  1. public class PerformanceMonitorModule : IHttpModule 
  2.  public void Init(HttpApplication context) 
  3.  { 
  4.   context.PreRequestHandlerExecute += delegate(object sender,EventArgs e) 
  5.   { 
  6.    //Set Page Timer Star 
  7.    HttpContext requestContext = ((HttpApplication)sender).Context; 
  8.    Stopwatch timer = new Stopwatch(); 
  9.    requestContext.Items["Timer"] = timer; 
  10.    timer.Start(); 
  11.    }; 
  12.   context.PostRequestHandlerExecute += delegate(object sender, EventArgs e) 
  13.   { 
  14.    HttpContext httpContext = ((HttpApplication)sender).Context; 
  15.    HttpResponse response = httpContext.Response; 
  16.    Stopwatch timer = (Stopwatch)httpContext.Items["Timer"]; 
  17.    timer.Stop(); 
  18.    // Don't interfere with non-HTML responses 
  19.    if (response.ContentType == "text/html"
  20.    { 
  21.     double seconds = (double)timer.ElapsedTicks / Stopwatch.Frequency; 
  22.     string result_time = string.Format("{0:F4} sec ", seconds); 
  23.     RenderQueriesToResponse(response,result_time); 
  24.    } 
  25.   }; 
  26.  } 
  27.  void RenderQueriesToResponse(HttpResponse response, string result_time) 
  28.  { 
  29.   response.Write("<div style=\"margin: 5px; background-color: #FFFF00\""); 
  30.   response.Write(string.Format("<b>Page Generated in "+ result_time)); 
  31.   response.Write("</div>"); 
  32.  } 
  33.  public void Dispose() { /* Not needed */ } 

希望本文所述对大家的asp.net程序设计有所帮助。