1、避免不必要的执行操作
Page_Load 和 IsPostBack
void
Page_Load(Object sender, EventArgs e)
{
//
set up a connection and command here
if
(
!
Page.IsPostBack)
{
String query
=
"
select * from Authors where FirstName like '%JUSTIN%'
"
;
myCommand.Fill(ds,
"
Authors
"
);
myDataGrid.DataBind();
}
}
void
Button_Click(Object sender, EventArgs e)
{
String query
=
"
select * from Authors where FirstName like '%BRAD%'
"
;
myCommand.Fill(ds,
"
Authors
"
);
myDataGrid.DataBind();
}
2、关闭不必要的Session状态
<%@ Page EnableSessionState="false" %>
3、注意使用Server Control,不必要时可以不使用Server Control
不必要时可以关闭ViewState
<asp:datagrid EnableViewState="false“ runat="server"/>
<%@ Page EnableViewState="false" %>
4、不要用Exception控制程序流程
try
{
result
=
100
/
num;
}
catch
(Exception e)
{
result
=
0
;
}
if
(num
!=
0
)
result
=
100
/
num;
else
result
=
0
;
5、禁用VB和JScript动态数据类型
<%@ Page Language="VB" Strict="true" %>
6、使用存储过程数据访问
7、只读数据访问不要使用DataSet
使用SqlDataReader代替DataSet,SqlDataReader是read-only, forward-only
8、关闭ASP.NET的Debug模式
9、使用ASP.NET Output Cache缓冲数据
(1)ASP.NET输出缓冲
页面缓冲
<%@OutputCache%>
Duration
VaryByParam
片断缓冲
VaryByControl
(2)数据缓冲
过期依赖条件
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
));