电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C#>>掌握几个asp.net编程技巧 提高asp.net编译运行速度:

掌握几个asp.net编程技巧 提高asp.net编译运行速度

来源:网络 | 2009-8-6 | (有4187人读过)

以下文档转载自网络,供开发asp.net项目的朋友们参考使用:

提高asp.net编译运行速度的几个技巧正文:

1)避免使用ArrayList,因为对象要转化为System.Object加入ArrayList,取出时又要转化为想要的类型,设计到大量的装箱拆箱过程,推荐使用自定义集合取代ArrayList,.net还在System.Collection.Specialized命名空间下为string提供了一个强类型的集合类StringCollection

2)用Hashtable 取代其他字典类型,如:StringDictionary, NameValueCollection, HybridCollection。

3)经常为字符串声明常量来封装他们
   //避免
   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)避免在循环体类声明并初始化对象,而应该在循环体外声明,在循环体类初始化
   //避免
   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 会动态增加页面体积,所以要小心的使用控件的Viewstate 属性。
2) 尽可能使用ajax。
3) 使用server.tranfer取代response.redirect。
4) 尽可能使用repeater和datalist取代datagrid。
5) 尽量避免Throw来控制程序流程,因为Throw会消耗大量资源。
6) 避免过度使用异常处理程序块,只在你无法控制的地方做异常处理。
7) 大量dataset很昂贵,尽量一次取得最多的数据,然后销毁dataset
8) 使用缓存
9) 使用合适的认证机制
10)使用Finally方法释放资源
11)网站发布后将Debug和trace设为false。

其他几个技巧:

一、by caoit(lost)

  1,禁止页面的视图状态,<%   Page   EnableViewState="false"   %>  
    禁止单独控件,<asp:DataGrid   EnableViewState="false"     runat=server   />  
    禁止整个应用程序web.config   <Pages   EnableViewState="false"   />  
  2,管理会话状态  
      web.config   <Session   Mode="off"/>  
  3,输出高速缓存

二、by udonome(。)(。)

  1、后台数据操作用存储过程  
  2、和数据无关的操作最好用客户端js完成  
  3、发布后web.config中  
          <compilation   defaultLanguage="c#"   debug="false"   />  
  4、用DataReader比DataSet快  
  5、分页最好在后台做  
  6、用缓存

三、by shangyusoft.com

  尽量少用服务器端控件,一般情况下用服务器端(runat=server)控件会使性能损失30-50%左右。


编者按:文中前面部分未找到原文来源,无法注明作者,在此感谢。

C#热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2020 电脑爱好者 版权所有 备案号:鲁ICP备09059398号