欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-21 14:44:28
本文实例讲述了asp.net计算每个页面执行时间的方法。分享给大家供大家参考。具体分析如下: 这里的asp.net代码可实现计算每个页面的执行时间,无需要修改页面的相关代...

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

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

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 */ }
}

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