您的位置:首页 > 编程语言 > ASP

总结出来的一些ASP.NET程序性能优化的注意事项

2007-10-01 12:27 881 查看
只是提了一个基本概念,具体要点要是需要查找资料。
本文的各个要点,都是从网上大量文章中总结出来。
参考资料:
/article/4936428.html

asp.net程序性能优化总结
——备忘具体技术 细节请查询
1. 缓存:页面OutPut缓冲(根据参数VaryByParams,Location、保存到硬盘)、User Control的片断缓存(VaryByControl=”Con”:针对此控件所在的每个页面创建单独的缓存条目)、缓存API、数据缓冲(文件依赖、时间依赖、相对过期依赖)、回调缓存(<asp:Substitution />)。

2. 数据处理方面的优化:

a) 返回大量数据且不做大量处理,返回类型用SqlDataReader,只读数据访问不要使用DataSet。

b) 使用存储过程,好处:1、有助于处理复杂业务。2、可扩展性,数据库结构改变,易于维护修改。3、减少网络传输时间。4、预编译,速度比执行Sql语句快很多。

c) 查询语句优化:SET FORCEPLAN强制Sql Server按表出现顺序使用表。用它选择表联结顺序。

d) 数据库连接使用完毕立即关闭,使用using自动关闭,比手动关闭哪个优?(待查询)

e) 优化查询语句。不在查询语句中包含子查询语句,充分利用索引。

f) 对数据进行分页,按页码和每页条数返回每次请求所需数据。[f、g见9]

g) 返回多个数据集。用SqlCommand对象的ExecuteReader方法返回一个强类型的业务对象,再调用NextResult方法来移动数据集指针来定位数据集,但必须把业务逻辑写到存储过程里面

3. 页面优化:

a) 无特殊要求,使(页面视图状态)EnableViewState=false。如:页面无需回传或者每次仅只是呈现。

b) 页面布局:用FlowLayout比GridLayout(绝对定位,代码多)好。

c) 尽量使用html控件,能用javascript的就用。数据控件选择:Repeater>Datalist>DataGrid

4. 字符串操作:”s” + 2.ToString(); 使用StringBuilder。

5. 采用 Server.Transfer 语法避免不必要的客户端重定向。

6. 启用网络园艺。

7. 优化web服务器:

a) 仅对需要的应用启用身份验证。

b) 考虑对应用程序禁用 AutoEventWireup,需重写Page.OnLoad(),而不能直接使用Page_Load()

c) 从请求处理管线中移除不用的模块。Machine.config 文件中 <httpModules> 节点默认为激活,如果在应用程序中不使用会话状态和输出缓存,则可以从 <httpModules>列表中移除它们。

8. 关闭ASP.NET的Debug模式

9. 其他额外:(没用过,不懂) http://dotnet.mblogger.cn/mark_lee/posts/6329.aspx似乎只针对Server 2003。

a) IIS6.0中启用Gzip压缩发送数据,要修改IIS6.0的xml配置文件。

b) 用IIS6.0的Kernel Caching

c) 后台处理。System.Threading命名空间下Timer类。如:提交一个新帖子……检查,发邮件…

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

总结自网上。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1548658
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: