开发者

Time lag between PreRenderComplete and SaveState

开发者 https://www.devze.com 2023-01-10 21:00 出处:网络
We are tracing our ASP.NET application and find that for one of our pages we see that there is a time lag of around 2.5 secs from the time PreRenderComplete Ends to SaveState Begins. Below is a part o

We are tracing our ASP.NET application and find that for one of our pages we see that there is a time lag of around 2.5 secs from the time PreRenderComplete Ends to SaveState Begins. Below is a part of log

aspx.page End PreRender 9.123185387 0.18开发者_高级运维4541

aspx.page Begin PreRenderComplete 9.123277718 0.000092

aspx.page End PreRenderComplete 9.123666575 0.000389

aspx.page Begin SaveState 11.77441916 2.650753

aspx.page End SaveState 11.77457158 0.000152

aspx.page Begin SaveStateComplete 11.77459695 0.000025

aspx.page End SaveStateComplete 11.77461284 0.000016

aspx.page Begin Render 11.77462541 0.000013

aspx.page End Render 15.10157813 3.326953

we are trying to understand if there is any rationale behind this. Pls help me understand this.

Thanks in Advance


According to Reflector, the only thing happening between those two events is some code that builds the control tree used with tracing output (BuildPageProfileTree). This code only runs if tracing is enabled. Here's the relevant section from the ProcessRequestMain routine for the page:

if (context.TraceIsEnabled)
{
    this.Trace.Write("aspx.page", "End PreRenderComplete");
}
if (context.TraceIsEnabled)
{
    this.BuildPageProfileTree(this.EnableViewState);
    this.Trace.Write("aspx.page", "Begin SaveState");
}

So, ironically, the slowdown you see above is caused by the fact that you are tracing your page, and would not be there if tracing was disabled.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号