- 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 */ }
- }
- //该片段来自于http://www.codesnippet.cn/detail/040720134422.html
来源: http://www.codesnippet.cn/detail/040720134422.html