asp.net计算每个页面执行时间的方法
本文实例讲述了asp.net计算每个页面执行时间的方法。分享给大家供大家参考。具体分析如下:
这里的asp.net代码可实现计算每个页面的执行时间,无需要修改页面的相关代码,这段代码会给所有的页面统一加上执行时间显示
publicclassPerformanceMonitorModule:IHttpModule
{
publicvoidInit(HttpApplicationcontext)
{
context.PreRequestHandlerExecute+=delegate(objectsender,EventArgse)
{
//SetPageTimerStar
HttpContextrequestContext=((HttpApplication)sender).Context;
Stopwatchtimer=newStopwatch();
requestContext.Items["Timer"]=timer;
timer.Start();
};
context.PostRequestHandlerExecute+=delegate(objectsender,EventArgse)
{
HttpContexthttpContext=((HttpApplication)sender).Context;
HttpResponseresponse=httpContext.Response;
Stopwatchtimer=(Stopwatch)httpContext.Items["Timer"];
timer.Stop();
//Don'tinterferewithnon-HTMLresponses
if(response.ContentType=="text/html")
{
doubleseconds=(double)timer.ElapsedTicks/Stopwatch.Frequency;
stringresult_time=string.Format("{0:F4}sec",seconds);
RenderQueriesToResponse(response,result_time);
}
};
}
voidRenderQueriesToResponse(HttpResponseresponse,stringresult_time)
{
response.Write("<divstyle=\"margin:5px;background-color:#FFFF00\"");
response.Write(string.Format("<b>PageGeneratedin"+result_time));
response.Write("</div>");
}
publicvoidDispose(){/*Notneeded*/}
}
希望本文所述对大家的asp.net程序设计有所帮助。