易捷网络谈如何提高ASP.NET网站的打开速度.
信息来源:深圳市易捷网络科技有限公司
信息发布时间:2024/11/8
如果你是一个做过ASP网站,又做过ASP.NET网站的程序员,你可能会发现,如果按正常的思路开发ASP.NET网站,ASP.NET网站的速度会比ASP网站慢很多,为什么强大的网站语言会比弱得慢的,原因很简单,正因为他强大,需要执行的程序比较多,而服务器是一样的,所以肯定ASP.NET网站会比ASP网站慢,那么如何提高ASP.NET网站的打开速度,发挥ASP.NET语言的威力呢?易捷网络总结了如下方法:
1、禁用ViewState ,VIewState只是当页面回发时仍能记住页面状态,打破WEB先天的无状态性,但肯定也造成性能下降,所以如果不是很必要,请不要使用, 具体禁用方法,可在Web.Config或Page开头加上 EnableViewState="false";
2、禁用SessionState,你可能会问,如果禁用SessionState,那不是不能使用Session了,怎么进行身份验证呢,其实,除了Session,还可以使用Cookie,如果怕不安全,可以给Cookie加密,如Window Form认证就是Asp.net内置的身份验证方式。如下:
<authentication mode="Forms">
<forms name="River_Form" loginUrl="~/Login.aspx" defaultUrl="~/Default.aspx" protection="All" timeout="120000" path="/" requireSSL="false" slidingExpiration="true" enableCrossAppRedirects="false" cookieless="UseDeviceProfile"/>
</authentication>
3、网站发布时,禁用调试,具体在Web.Config文件里设置<compilation debug="false">;
4、网站采用编译发布 ;
5 、使用ASP.NET页面缓存、控间缓存等提高性能;
6、使用Cache保存经常使用的数据,也就是数据缓存,数据缓存有普通缓存、文件依赖缓存、SQL依赖缓存等。
7、生成静态页面,或把经常使用的内容生成静态文件,调用。
8、如果数据量大,不要使用GridView等内置的分页功能,他们是读取所有的数据再分页的,应使用取多少读多少的分页方式。一般这种大数据量的分页方式有存储过程和SQL语句两种,如果是MSSQL2005数据库可以采用Row_number函数分页更方便。
9、采用存储过程,不但可以节省网站流量,更是可以提高速度、提高安全性,因为采用存储过程,可以减少SQL语句传送消费的时间和宽带,同时存储过程采用参数化方式,减少SQL注入的可能;
10、注意isPostBack ,不要每次页面回发重复执行一些操作。
11、需要注意控件的选择:
DataReadear比DataSet快15%
SqlDataReader比OleDbDataReader快50%
用DataReader的ASP风格的表格显示比DataGrid绑定DataReader快60%
用Ordinal的DataReader访问字端比用名字访问快15%
DataGrid中用AutoGenerateColumns=true比用显式绑定快24%
所以,选择控件很重要,能满足需求的情况下用速度最快的控件。
12、页面代码采用DIV+CSS代码,因为传统的Table布局加载比较慢,代码也比较多,也会造成速度瓶颈。
13、如非必要,JS文件最好在页面最后加载。
14、使用CSS Spire,就是把一个页面用到的背景图片都集合在一个文件里,减少页面的请求次数,从而加快网站速度。