笔记:Asp.Net应用程序性能优化

1、在Page_Load中使用IsPostBack


2
SessionServer Control(服务器端控件)ViewState 应尽量少用
服务器端控件的开销比较大,所以应尽量少用,但是考虑到程序功能上的要求,是不太可能用的很少的,因此如非必要,应把服务器端控件的ViewState状态设为False


3
、不要用Exception控制流程

例如:

Try{

       Result=100/num;

} catch(Exception e) {

       Result=0;

}

正确的写法是

If (num!=0) result=100/num;

else result=0;

原因是,Exception会占用大量的资源,能不用就不用。

4、禁用VBJSCRIPT动态数据类型

<%@ Page Language=”vb” Strict=”true”%>

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

5、使用存储过程数据访问

把经常使用的查询放到存储过程中。
这样也利于封装逻辑。

 

6、只读数据访问不要使用DataSet

       使用SqlDataReader代替

       SqlDataReaderread-only,forward-only

 

7、关闭ASP.NETDebuy模式 webconfig中设置
在系统交付使用以后,一般不需要调试,此时可以把Debuy模式关掉。

 <compilation defaultLanguage="vb" debug="true">

8、使用ASP.NET Output Cache缓冲数据

8.1页面缓冲

<%@OutputCatch%>

Duration 缓冲时间,单位秒,过了多长时间才去再次请求 Duration=60

VaryByParam  缓冲项的依据VaryByParam=”cityName” cityName为页面post的参数名

例如:

一个天气查询的页面,选择一个城市,页面显示给城市当前的天气。

页面添加<%@OutputCatch  Duration=60  VaryByParam=”cityName” %>

表示每个cityName相同的请求(POST),在60秒后才会重新申请。

这里使用一个远程web service 来获得某个城市的天气,当前web service的相应时间都比较长,如这个web service 需要半秒钟才能获得结果,因此如果不加入缓存的话,上百个人同时访问时,等待的时间是不能接受的,因此要添加缓存。

由于每个城市的天气都要保存,因此这是个数组,varybyparam就是这个数组的下标。也可以是多维数组。

 

片段缓冲

 

数据缓冲

Cache对象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章