我剛剛在我的一個頁面上遇到了性能問題。 base.PreRender需要更多的12然後秒時:PreRender階段很慢
aspx.page Begin PreRender 0.00577958119283298 0.000009
aspx.page End PreRender 12.3006780015036 12.294898
如何診斷過程中的PreRender階段這究竟是怎麼回事?起初我認爲這是數據庫抓取的問題,但據我所知,當PreRender發生時,所有數據綁定都已完成。
這是ViewState的問題嗎?
編輯: 我已經添加了這個診斷代碼到我的網頁:被立刻執行
protected override void OnPreRender(EventArgs e)
{
Trace.Write("OnPreRender", "Start");
base.OnPreRender(e);
Trace.Write("OnPreRender", "End");
}
其實Trace.Write("End");
線。這是跟蹤輸出
aspx.page Begin PreRender 0.233399419245709 0.000010
OnPreRender Start 0.233407218080441 0.000008
OnPreRender End 0.233415320448565 0.000008
aspx.page End PreRender 1.45992676325022 1.226511
此頁面在做什麼? – Paddy
簡而言之:將IEnumerable綁定到GridView。只是顯示數據。 –
dragonfly
如果您認爲viewstate可能是問題,您是否嘗試禁用它並查看它是否更好? – Chris