ASP.NET技巧之提高應(yīng)用程序性能淺析
◆ASP.NET技巧之提高ASP.NET應(yīng)用程序性能應(yīng)用程序性能:即使不使用Visual Studio .NET進行編程,使用代碼支持文件也有利于提高應(yīng)用程序的性能
如何提高ASP.NET應(yīng)用程序性能呢?在Web應(yīng)用程序、Web服務(wù)或Web控件等所有的ASP.NET Web工程中,Visual Studio .NET都使用代碼支持文件。代碼支持文件使工程具有更好的組織、模塊性,更適合多人組成的開發(fā)團隊。另外,它還會帶來性能的提高。
代碼支持文件的內(nèi)容被編譯成一個組合文件中的類,一般是一個DLL文件,有時也可以是EXE文件。該文件駐留在應(yīng)用程序的組合體高速緩沖區(qū)中,在應(yīng)用程序啟動時,可以立即得到它。
如果代碼是包含在﹤SCRIPT﹥標記中或ASPX文件代碼中,它仍然會被編譯成一個Web頁類。在這種情況下,每當該網(wǎng)頁在應(yīng)用程序?qū)υ捴械谝淮渭虞d時,都需要重新進行編譯,被編譯的類就會駐留在內(nèi)存中。每當計算機啟動、IIS停止、重新啟動或者源代碼、配置文件改變時,該文件必須重新編譯。盡管不大,但這樣引起的性能損耗也是相當可觀的。
◆ASP.NET技巧之提高ASP.NET應(yīng)用程序性能應(yīng)用程序性能:盡量減少表單回送
每當點擊Web網(wǎng)頁上的Button、LinkButton或ImageButton控件時,表單就會被發(fā)送到服務(wù)器上。如果控件的AutoPostBack屬性被設(shè)置為true,如果CheckBox、CheckBoxList等控件的狀態(tài)被改變后,也會使表單會發(fā)送回服務(wù)器。
每次當表單被發(fā)送回服務(wù)器,就會被重新加載,啟動Page_Load事件,執(zhí)行Page_Load事件處理程序中的所有代碼。把網(wǎng)頁的初始化代碼放在這里是最合適不過的了。我們經(jīng)常會希望在每次加載網(wǎng)頁時執(zhí)行一些代碼,而希望只有在網(wǎng)頁第一次加載時執(zhí)行另一些代碼,甚至希望一些代碼在除首次加載外的每次加載時執(zhí)行。
可以利用IsPostBack特性來完成這一功能。在網(wǎng)頁第一次加載時,該屬性的值是false。如果網(wǎng)頁因回送而被重新加載,IsPostBack屬性的值就會被設(shè)置為true。通過測試,可以在任意時候執(zhí)行指定的代碼。下面是相關(guān)的C#代碼:
- protected void Page_Load(Object sender, EventArgs e)
- {
- // 網(wǎng)頁每次加載時,執(zhí)行的一些操作
- if (!IsPostBack)
- {
- // 網(wǎng)頁第一次加載時執(zhí)行的操作
- }
- else
- {
- // 回送時執(zhí)行的操作
- }
- // 網(wǎng)頁每次加載時執(zhí)行的操作
- }
我們希望盡量不引起回送(每次回送都會要求服務(wù)器進行一系列的操作),即使引起回送后。也希望能夠執(zhí)行盡量少的操作。大規(guī)模、浪費時間的操作(例如數(shù)據(jù)庫查找)尤其應(yīng)當避免,因為它們能夠延長應(yīng)用程序的響應(yīng)時間。
ASP.NET技巧之提高ASP.NET應(yīng)用程序性能就向你介紹到這里,希望對你有所幫助。
【編輯推薦】