【发布时间】:2010-04-09 21:59:04
【问题描述】:
我想知道是什么导致了开始和结束 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
我不确定如何跟踪预渲染完成事件中可能正在运行的内容。在页面生命周期的这一点上是否有任何其他类型的控件或函数在运行?
更多信息
此延迟的一部分似乎与页面上的 ajax 控件有关。我不确定为什么它们会在加载时间上造成如此大的差距,但显然它们确实如此。
【问题讨论】:
-
我建议您开始禁用页面的不同部分。当您禁用一个消除瓶颈的部分时,至少您将隔离问题。
-
同时检查生成了多少 ViewState。加密并创建 HMAC 进行验证可能需要一段时间(相对而言)。
标签: asp.net performance events prerender