40條ASP.NET開發Tip

作者: 麒麟  來源: 博客園  發布時間: 2010-01-21 13:16  閱讀: 2593 次  推薦: 0   原文鏈接   [收藏]  

1、在compilation 下,請設置debug=false ,如下:

default Language="c#" debug="false">

2、請使用Server.Transfer代替Response.Redirect。

3、使用Validator控件,請要經常檢查Page.IsValid。

4、請使用foreach循環,而不是為字符串迭代循環。

5、請使用客戶端驗證方式(不要每次都在服務端驗證)。

6、為了避免重復代碼執行,請檢查“Page.IsPostBack”。

7、GIF 和PNG類似,但是PNG通常產生一個較小體積的文件。(當然,有些瀏覽器不支持PNG格式)

8、更新二進制文件時,請使用AppOffline.htm 。

9、除非需要,否則請關閉跟蹤。

<trace enabled="false" requestLimit="10" pageOutput="false" traceMode=
"SortByTime"
 localOnly="true"/>

  

10、編譯頁面,請禁用AutoEventWireup。在Machine.config文件中請設置AutoEventWireup為false。

11、如果不需要,請關閉Session會話。

<sessionstate timeout="20" cookieless="false" mode="Off" stateconnectionstring
="tcpip=127.0.0.1:42424" sqlconnectionstring="data source=127.0.0.1;Trusted_Connection=no">

12、在你生成最終版本的應用程序之前,請選擇Release模式。默認是Debug。

13、如果不需要請禁用ViewState 。

EnableViewState="false"

14、請避免頻繁的訪問數據庫。

15、使用緩存提高你的應用程序的性能。

16、驗證所有的用戶輸入。

17、請最后釋放所有資源。

18、String 和Stringbuilder。

      修改字符串時,使用Stringbuilder而不是String ,在每次字符串修改的時候,String都會占據不同的內存空間,而Stringbuilder只使用同一個內存空間

19、切勿直接使用對象的值,先從本地變量獲取對象的值,然后再使用。因為直接讀取對象的值比讀取變量更花時間。

20、避免異常:使用if。

21、代碼優化:避免使用:x = x +1,而是使用x+=1比較好。

22、數據訪問技術:DataReaders提供快速有效的數據檢索方法。在性能方面,DataReader是速度遠遠超過DataSets 。

23、在做一個笨重的ASP代碼的處理之前,你進行檢查以確保Response.IsClientConnected。

24、避免session變量,因為每個ASP頁面是在不同的線程運行和session調用將會被逐一序列化。這樣會降低應用程序。你可以使用QueryString集合或者表單上面的hidden變量來保存值。

25、使buffer有效,能提高性能,如:

<% response.buffer=true %>

 接著使用:

<% response.flush=true %>

26、使用Repeater控件代替DataGrid,DataList,因為它是高效的,可定制的,和可編程的。

27、在數據庫中檢索大量數據,數據列表消耗更多的時間。

    分頁將顯示特定的數據,但是要考慮所有數據負載。只取當前頁需要的數據。

28、避免內嵌JavaScript和CSS。

29、使用單個的css文件,而不是多個css文件。

    請盡量將您所有的css合并成一個css的類文件,不管文件大小,大量的.css文件會造成大量的請求。.css文件通常是由瀏覽器緩存,這樣一個單一的沉重的.css文件不會導致在每個頁面請求時會有漫長的等待。

    內嵌.CSS類導致HTML沉重,因此我覺得:首先考慮一個single.css文件。

30、減少cookie的大小。

31、壓縮CSS, JavaScript 和Images。

可以使用在線的壓縮,壓縮文件,將下列網頁和優化的代碼替換為您的文件內容。

http://iceyboard.no-ip.org/projects/css_compressor[^]  CSS 壓縮
www.xtreeme.com/javascript-optimizer/[^] .  JS 壓縮

32、適當地使用緩存。

i、頁面輸出緩存:

<%@ OutputCache Duration="3600" VaryByParam="none" %>

ii、頁片段緩存:

在每個用戶控件中寫頁面輸出緩存

iii、數據緩存:

代碼
<script language="C#" runat="server"> 
 Protected 
void Page_Load (Object src, EventArgs e) 
{   
 DataView dv 
= (DataView) Cache. Get ("EmployeesDataView");   
 If (dv 
== null)
 { 
// wasn't there
  SqlConnection conn =    new SqlConnection ("server=localhost;uid=sa;pwd=;database=Test");  
  SqlDataAdapter da 
=new SqlDataAdapter ("select * from Employees", conn);  
  Dataset ds 
= new DataSet();
  da.Fill(ds, 
"Employees");   
  dv 
= ds.Tables["Employees"].DefaultView;   
  Cache.Insert (
"EmployeesDataView", dv);
  conn.Close();
}   
 Else   
 Response.Write (
"

Loaded employees from data cache! 

");  
 lb1.DataSource 
= dv;  
 lb1.DataTextField 
= "Name";    
 lb1.DataValueField 
= "Age";   
 DataBind () ;
}   

script> 

 

33、服務器端使用諸如Port80s壓縮軟件http://www.port80software.com/products/httpzip/[^]。

34、使用了“using”。

35、不要聲明成員變量為 public 或者proteted,盡量使用private 成員變量和public/protected 屬性。

36、使用strString=string.Empty 代替 strString="" 。

37、請盡可能減輕你的頁面文件,盡量避免不必要的標簽,例如使用div代替table。

38、在div中寫靜態的消息,必要的時候才顯示出來。這比你設置服務端的label和div的text屬性快。

39、如果可能的話,一次性檢索數據庫中的數據。盡可能不要添加數據庫的訪問。因此,整合來自不同表datafields和選擇它們。

40、給WebControl取個簡短的名字。

0
0
 
標簽:ASP.NET
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()