這篇文章主要介紹了asp.net計算每個頁面執行時間的方法,涉及asp.net操作時間的相關技巧,非常具有實用價值,需要的朋友可以參考下
本文執行個體講述了asp.net計算每個頁面執行時間的方法。分享給大家供大家參考。具體分析如下:
這裡的asp.net代碼可實現計算每個頁面的執行時間,無需要修改頁面的相關代碼,這段代碼會給所有的頁面統一加上執行時間顯示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
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程式設計有所協助。