日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

提高.NET性能的最佳实践

發(fā)布時間:2025/3/15 asp.net 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 提高.NET性能的最佳实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1)避免使用ArrayList,因為對象要轉化為System.Object加入ArrayList,取出時又要轉化為想要的類型,設計到大量的裝箱拆箱過程,推薦使用自定義集合取代ArrayList,.net還在System.Collection.Specialized命名空間下為string提供了一個強類型的集合類StringCollection
?
2)用Hashtable 取代其他字典類型,如:StringDictionary, NameValueCollection, HybridCollection。
?
3)經(jīng)常為字符串聲明常量來封裝他們
? ?//避免
? ?MyObject obj = new MyObject();
? ?obj.Status = "ACTIVE";?
? ?//推薦 ? ?
? ?const string C_STATUS = "ACTIVE";
? ?MyObject obj = new MyObject();
? ?obj.Status = C_STATUS;
?




4)使用String.Compare取代將兩個字符串轉化為uppercase或lowercase再來比較他們
? ?const string C_VALUE = "COMPARE";
? ?if (String.Compare(sVariable, C_VALUE, true) == 0)
? ?{
? ? ? ? ?Console.Write("SAME");
? ?}
?
5)避免使用+操作符來連接字符串,而使用StringBuilder來連接
? ?//避免
? ?String sXML = "<parent>";
? ?sXML += "<child>";
? ?sXML += "Data";
? ?sXML += "</child>";
? ?sXML += "</parent>"; ? ? ? ? ? ? ?//推薦
? ?StringBuilder sbXML = new StringBuilder();
? ?sbXML.Append("<parent>");
? ?sbXML.Append("<child>");
? ?sbXML.Append("Data");
? ?sbXML.Append("</child>");
? ?sbXML.Append("</parent>");
?




6)對于只讀xml文檔,用XPathDocument取代XMLDocumentt
? ?//避免
? ?XmlDocument xmld = new XmlDocument();
? ?xmld.LoadXml(sXML);
? ?txtName.Text = xmld.SelectSingleNode("/packet/child").InnerText;
? ?//推薦
? ?XPathDocument xmldContext = new XPathDocument(new StringReader(oContext.Value));
? ?XPathNavigator xnav = xmldContext.CreateNavigator();
? ?XPathNodeIterator xpNodeIter = xnav.Select("packet/child");
? ?iCount = xpNodeIter.Count;
? ?xpNodeIter = xnav.SelectDescendants(XPathNodeType.Element, false);?
? ?while(xpNodeIter.MoveNext())
? ?{
? ? ? ? ?sCurrValues += xpNodeIter.Current.Value+"~";?
? ?}


7)避免在循環(huán)體類聲明并初始化對象,而應該在循環(huán)體外聲明,在循環(huán)體類初始化!
? ?//避免
? ?for(int i=0; i<10; i++)
? ?{
? ? ? ?SomeClass objSC = new SomeClass();
? ?}
? ?//推薦
? ?SomeClass objSC = null;
? ?for(int i=0; i<10; i++)
? ?{
? ? ? ?objSC = new SomeClass();
? ?}
?
下面是專門針對Web程序性能的設計方針
1) Viewstate 會動態(tài)增加頁面體積,所以要小心的使用控件的Viewstate 屬性。
2) 盡可能使用ajax。
3) 使用server.tranfer取代response.redirect。
4) 盡可能使用repeater和datalist取代datagrid。
5) 盡量避免Throw來控制程序流程,因為Throw會消耗大量資源。
6) 避免過度使用異常處理程序塊,只在你無法控制的地方做異常處理。
7) 大量dataset很昂貴,盡量一次取得最多的數(shù)據(jù),然后銷毀dataset
8) 使用緩存
9) 使用合適的認證機制
10)使用Finally方法釋放資源
11)網(wǎng)站發(fā)布后將Debug和trace設為false。

總結

以上是生活随笔為你收集整理的提高.NET性能的最佳实践的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。