筆記:Asp.Net應用程序性能優化

1、在Page_Load中使用IsPostBack


2
SessionServer Control(服務器端控件)ViewState 應儘量少用
服務器端控件的開銷比較大,所以應儘量少用,但是考慮到程序功能上的要求,是不太可能用的很少的,因此如非必要,應把服務器端控件的ViewState狀態設爲False


3
、不要用Exception控制流程

例如:

Try{

       Result=100/num;

} catch(Exception e) {

       Result=0;

}

正確的寫法是

If (num!=0) result=100/num;

else result=0;

原因是,Exception會佔用大量的資源,能不用就不用。

4、禁用VBJSCRIPT動態數據類型

<%@ Page Language=”vb” Strict=”true”%>

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

5、使用存儲過程數據訪問

把經常使用的查詢放到存儲過程中。
這樣也利於封裝邏輯。

 

6、只讀數據訪問不要使用DataSet

       使用SqlDataReader代替

       SqlDataReaderread-only,forward-only

 

7、關閉ASP.NETDebuy模式 webconfig中設置
在系統交付使用以後,一般不需要調試,此時可以把Debuy模式關掉。

 <compilation defaultLanguage="vb" debug="true">

8、使用ASP.NET Output Cache緩衝數據

8.1頁面緩衝

<%@OutputCatch%>

Duration 緩衝時間,單位秒,過了多長時間纔去再次請求 Duration=60

VaryByParam  緩衝項的依據VaryByParam=”cityName” cityName爲頁面post的參數名

例如:

一個天氣查詢的頁面,選擇一個城市,頁面顯示給城市當前的天氣。

頁面添加<%@OutputCatch  Duration=60  VaryByParam=”cityName” %>

表示每個cityName相同的請求(POST),在60秒後纔會重新申請。

這裏使用一個遠程web service 來獲得某個城市的天氣,當前web service的相應時間都比較長,如這個web service 需要半秒鐘才能獲得結果,因此如果不加入緩存的話,上百個人同時訪問時,等待的時間是不能接受的,因此要添加緩存。

由於每個城市的天氣都要保存,因此這是個數組,varybyparam就是這個數組的下標。也可以是多維數組。

 

片段緩衝

 

數據緩衝

Cache對象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章