本文实例讲述了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程序设计有所帮助。