這篇文章主要介紹了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 35public
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程序設計有所幫助。