我想知道什麼會導致開始和結束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控件。我不確定他們爲什麼在加載時間造成如此大的差距,但他們顯然是這樣。
我建議你開始禁用頁面的不同部分。當你禁用一件消除瓶頸的東西時,至少你會將問題隔離開來。 – 2010-04-09 01:19:31
同時檢查正在生成多少ViewState。相對而言,可能需要一段時間才能對其進行加密並創建一個用於驗證的HMAC。 – devstuff 2010-04-09 14:03:11