亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

asp.net小談網站性能優化

添加時間:2014-12-29 21:06:45  添加: 思海網絡 
網站性能優化是多方面的,這里先談一下這些天來的所獲: 
1、書寫代碼的習慣; 
再復雜的邏輯,也是從最簡單的開始。在書寫代碼的過程中,很多不好的規范都會影響網站的性能; 
以下是整理出來的些許代碼習慣: 
1)字符串的比較 用 string.Empty 代替 " " 
2)在遍歷過程中,先定義好計數變量, 再遍歷, 這樣會減少每次遍歷就分配一次內存空間: 
復制代碼 代碼如下:

int i; 
for( i=0; i<100;i++) 

// codeing 


3)同樣的,用 StringBuilder.Append() 代替 [csharp] string +="ABC" [/csharp]; 
4)在遍歷循環中中處理邏輯而不要調用其他方法形式,那樣在調用時會有性能損耗 
5)累加/減時,使用 A+=1,A-=1 ;而不用 A=A+1;這樣減緩申請內存的次數 
6)多用集合操作 
a:如果如果集合中元素類型固定,則可以使用它們各自對應的集合類,如數組、泛型等,這樣可以避免裝箱、拆箱操作; 
b:如果集合中元素個數固定并且類型一致,則使用數組存儲; 
c:如果對集合的操作主要是查找方面的,可以使用HashTable,Dictionaty<TYey,TValue> 
7) 使用Server.Transfer 來進行頁面重定向 
好處:性能比response.redirect要好很多,而且具有隱藏URL的好處,可以避免客戶端進行頁面重定向; 
壞處:要是用戶用刷新或是后退會導致發生意外的情況,所以請慎用 
8)減少服務器控件的運用 
9)合理(適當時候)使用緩存 
10)減少Cookies大小 
... ... 
2、數據庫 
1)數據庫最遲打開、最早關閉; 
2)優化數據庫連接配置,對于大型網站由于數據庫中存在大量的數據,所以可以加大其數據庫連接池
Max Pool Size=512;(默認為100) 
3)優化SQL語句,并使用存儲過程 
注意:盡量避免“select * from”之類的sql語句;盡量不要再查詢語句中使用子查詢;盡量使用索引;
4)使用DataReader 
在 DataReader 中,我們經常會用dr["字段名"]的查找形式,但是這種寫法卻是最耗性能的; 
一般,使用基于「序列號」的查找,比基于「命名」的查找更有效率。其中,可分為4類: 
寫法 (1) 使用 DataReader 索引 + 基于「序列號」的查找,如:dr[1].ToString(), 
寫法 (2) 使用 DataReader 索引 + 基于「命名」的查找,如:dr["LastName"].ToString(),這是性能最不好的寫法 
寫法 (3) 使用 Get 開頭的方法 + 基于「序列號」的查找,如:dr.GetString(1),寫法 
寫法 (4) 使用 GetSql 開頭的方法 + 基于「序列號」的查找,如:dr.GetSqlString(1), 
寫法 (5)使用 基于「序列號」+ GetOrdinal() 方法的查找。 
GetOrdinal()函數方法是什么呢? 
我們從數據庫中書寫對應的字段到我們查找的序列號上,但是有時候插入新的字段時,會有所變化。而GetOrdinal()的作用就是讓我們自己來序列化相對應的字段。 
a、首先定義序列號 int classid,classnameid; 
b、然后通過GetOrdinal()方法賦予新的序列號; 
c、通過GetSqlSring( 序列號 ) 方法就可找到對應的字段。 
示例代碼如下: 
復制代碼 代碼如下:

SqlConnection con = new SqlConnection(connString); 
string strcmd = "select top 1 classid,classname where cms_class"; 
SqlCommand cmd = new SqlCommand(strcmd, con); 
con.Open(); 
SqlDataReader dr = cmd.ExecuteReader(); 
int numberId, numberName; 
numberId = Convert.ToInt32(dr.GetOrdinal("classid")); 
numberName = Convert.ToInt32(dr.GetOrdinal("classname")); 
con.Close(); 
if (dr.Read()) 

string result = dr.GetSqlString(numberId) + " " + dr.GetSqlString(numberName); 

dr.Close(); 
關鍵字:網站、性能、優化
分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站