2010-04-09 77 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

相關問題