ASP.NET 开发实践--性能与缓存

本文介绍了ASP.NET应用程序的性能优化方法,包括使用IsPostBack避免不必要的操作、关闭不必要的Session状态、合理利用ServerControl、禁用动态数据类型、使用存储过程进行数据访问等10项关键优化措施。

1.使用IsPostBack属性避免不必要的执行操作

 

ContractedBlock.gif ExpandedBlockStart.gif 代码

   
// 只要有用花交互就会执行这个事件
void Page_Load(Object sender, EventArgs e) {
if ( ! Page.IsPostBack) {
String query
= " select * from Authors where FirstName like '%JUSTIN%' " ;
myCommand.Fill(ds,
" Authors " );
myDataGrid.DataBind();
}
}

 

2.关闭不必要的Session状态(当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失)

 


  
<% @ Page EnableSessionState = " false " %>

 

3.注意使用Server Control

不必要时(不需要用户交互)可以不使用Server Control不必要时可以关闭ViewState(生命周期仅为当前页面)

EnableViewState设置为false 当回发时控件的状态会恢复到aspx页的初始设置

<asp:datagrid EnableViewState="false“ runat="server"/> 

//关闭整个页面的ViewState

<%@ Page EnableViewState="false"%>

4.不要用Exception控制程序流程

5.禁用VB和JScript动态数据类型


  
<% @ Page Language = " VB " Strict = " true " %>

6.尽量使用存储过程数据访问

7.只读数据访问不要使用DataSet

使用SqlDataReader代替DataSetSqlDataReader是read-only, forward-only

8.关闭ASP.NET的Debug模式

9.使用ASP.NET Output Cache缓冲数据

 


  
<% @ OutputCache Duration = " 120 " VaryByParam = " TextBox1;TextBox2 " %>

 

Duration:缓冲时间 VaryByParam :当TextBox1和TextBook2中值的组合改变会增加Cache 如果设置为None 则无论TextBox1及TextBox2值是否改变页面都会使用缓存值,不会更新

 

VaryByControl:可把用户控件中应用<%@ OutputCache %>指令 具体参见OutputCache

 

10.数据缓冲Cache

 

ContractedBlock.gif ExpandedBlockStart.gif 代码

   
Cache.Insert( " MyData " , Source, new CacheDependency(Server.MapPath( " authors.xml " )));

Cache.Insert(
" MyData " , Source, null ,
DateTime.Now.AddHours(
1 ), TimeSpan.Zero);

Cache.Insert(
" MyData " , Source, null , DateTime.MaxValue,
TimeSpan.FromMinutes(
20 ));

 

 

转载于:https://www.cnblogs.com/hahacjh/archive/2010/06/02/1750242.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值