2008-11-02 26 views
7

我一直在尋找提高我的asp.net頁面的表現,是值得真正改變autoeventwireup爲false,並添加事件處理程序或者是性能損失很小?autoeventwireup性能成本

這是一個asp.net 2.0項目。

回答

1

的性能差異可以忽略不計。

+1

你有什麼證據證明這一說法? – Jon 2008-11-05 20:05:22

-1

性能是0,因爲一旦連接好(一旦你的應用程序在內存編譯),它永遠不會有做一遍。我的意思是,ASP.NET框架並不是經常通過名稱檢查每種方法,看它是否應該被連接起來。

但是,我強烈建議你關閉它,因爲它通常會導致雙頁面加載或其他任何問題(如果你自己連接一個事件,但由於以某種方式命名它,ASP.NET也會連接它)。

這是我的願望是默認爲關閉某項功能。

5

來自MSDN文章。

Performance Tips and Tricks in .NET Applications

避免Autoeventwireup功能

而不是依靠autoeventwireup的,從頁面重載的事件。例如,不要編寫Page_Load()方法,可以嘗試重載public void OnLoad()方法。這允許運行時從每個頁面執行CreateDelegate()。

知識庫文章:

How to use the AutoEventWireup attribute in an ASP.NET Web Form by using Visual C# .NET

時避免AutoEventWireup屬性的值設置爲true

如果性能是一個重要的考慮因素,不要設置的值AutoEventWireup屬性爲true。 AutoEventWireup屬性需要ASP.NET頁面框架爲每個ASP.NET Web窗體頁面調用CreateDelegate函數。不必使用自動連接,您必須手動覆蓋頁面中的事件。