碧空雪狐

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
如何提高.net页面性能
 

一、         缓存

缓存是ASP.NET中提高性能的重要手段,缓存一般遵循以下原则:

1) 在页面中将静态内容与动态内容分割开来

考虑将动态内容作成用户控件

2) 缓存合理的数据

一般应当缓存应用程序集的数据、多个用户共同使用的数据、静态数据、生成数据需要很大开销的动态数据、DataSet以及自定义对象等。不要缓存数据库连接对象、DataReader

3) 选择适当的方式

如可以使用页面缓存指令,API等。

二、         视图状态

视图状态放在页面中名为_VIEWSTATE的表单隐藏域里面,随页面一起被发送到客户端,在用户提交页面时,又被提交到服务器。

1) 如果不需要视图状态,则禁用

视图状态默认是允许的,如果页面不进行PostBack,如果不处理服务器控件的事件,如果服务器控件的数据每次都需要重新计算等

2) 尽量减少视图状态中存放的对象

三、         关于页面处理(减少页面生成的时间和过程)

1)              应尽量减少页面文件的大小

2)              通过检测Page.IsPostBack减少代码执行的数量

3)              禁止使用Debug=true”,减少页面生成过程中生成额外的调试信息

4)              使用Server.Transfer而不使用Response.Redirect,减少服务器和客户端间的往返

5)              尽量使用客户端验证,减少服务器和客户端间的往返

6)              在适当的场合使用服务器控件

7)              尽量避免嵌套的服务器控件

四、         避免使用Page.DataBindDataBinder.Eval

五、         关于Application对象和Session对象

1) 使用静态属性存储数据而不使用Application对象,在Application对象里存储只读类型的数据都将回提高性能

2) 尽量使用InProc模式的Session,这个模式是最快的

3) 在Session里存储基本类型的数据减少序列化的所消耗的资源

4) 如果不用Session变量,使用EnvableViewState=false”禁用

5) 如果不修改Session变量的值,尽量使用ReadOnly属性设置

六、         关于字符串操作

1) 尽量使用Response.Write将结果输出到浏览器,这种方法是最快的。不要将字符串连接在一起一次输出。

2) 在字符串短并且少的情况下可以使用String.Concat方法,而在字符串长度未知,并且字符串大的情况下,使用StringBuilder对象

3) 不要使用strVar==“”来判断字符串是否为“”,这样它会创建额外的字符串,请使用strVar==String.Empty代替或者使用strVar.Length==0来判断

4) 请使用String.Compare方法进行字符串的比较

posted on 2012-03-07 23:28  碧空雪狐  阅读(179)  评论(0编辑  收藏  举报