2010-04-09 72 views
2

我想知道什么会导致开始和结束PreRendercomplete事件之间的这种差异,或者我怎样才能找到瓶颈。为什么Begin PreRenderComplete和End PreRenderComplete事件之间有很大差距?

aspx.page End PreRender 0.193179639923915 0.001543 
aspx.page Begin PreRenderComplete 0.193206263076064 0.000027 
aspx.page End PreRenderComplete 1.96926008935549 1.776054 
aspx.page Begin SaveState 2.13108461902679 0.161825 

编辑

下面是有关生成

aspx.page Begin PreRenderComplete 0.200593573416824 0.000028 
PR-S        0.200606270612464 0.000013 
PR-complete       0.200622654090709 0.000016 
PR-E        1.97799207367323 1.777369 
aspx.page End PreRenderComplete 1.97805105419491 0.000059 
aspx.page Begin SaveState   2.11171607104531 0.133665 

的代码背后的跟踪一些细节:

Private Sub _Default6_PreRenderComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRenderComplete 
    Trace.Write("PR-complete") 
End Sub 
Protected Overrides Sub OnPreRenderComplete(ByVal e As System.EventArgs) 
    Trace.Write("PR-S") 
    MyBase.OnPreRenderComplete(e) 
    Trace.Write("PR-E") 
End Sub 

我不知道是怎么回事跟踪可能在预渲染完整前夕运行的内容NT。在页面生命周期的这一点上是否还有其他类型的控件或函数?

更多信息

这种延迟的部分似乎与页面上有AJAX控件。我不确定他们为什么在加载时间造成如此大的差距,但他们显然是这样。

+0

我建议你开始禁用页面的不同部分。当你禁用一件消除瓶颈的东西时,至少你会将问题隔离开来。 – 2010-04-09 01:19:31

+1

同时检查正在生成多少ViewState。相对而言,可能需要一段时间才能对其进行加密并创建一个用于验证的HMAC。 – devstuff 2010-04-09 14:03:11

回答

0

我必须抛出经过验证的真实答案。档案资料档案。这应该会给你所需的所有信息,以查看过程锁定的位置。

+0

标记正确,因为在一天结束时,虽然仍然不知道是什么造成了这种情况,并且我有很多体验配置文件,但我认为这是唯一的解决方案,即使它可能无法解决问题。 – Middletone 2011-02-10 04:49:07

0

您可能有一个事件处理程序附加到需要很长时间的PreRenderComplete事件。我首先搜索你的代码,参考PreRenderComplete并从那里开始。

+0

据我所知,我无法绑定到prerendercomplete事件,所以这不会导致问题。 – Middletone 2010-04-09 01:38:00

+1

'PreRenderComplete'事件在页面本身上可用:用户控件等不能绑定到它,但是你可以在页面本身绑定它。 – 2010-04-09 01:52:04

相关问题