ASP.NET性能提高的技巧

来源:互联网 发布:淘宝千人千面怎么设置 编辑:程序博客网 时间:2024/05/01 15:48

 避免不必要的执行操作

*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();
    }

 关闭不必要的Session状态
*<%@ Page EnableSessionState="false" %>
*注意使用Server Control
*不必要时可以不使用Server Control
*不必要时可以关闭ViewState
*<asp:datagrid EnableViewState="false“ runat="server"/>
*<%@ Page EnableViewState="false" %>
 
*不要用Exception控制程序流程
try {
result = 100 / num;
}
 catch (Exception e) {
result = 0;
 }
 
 if (num != 0)
result = 100 / num;
 else
 result = 0;

 
*禁用VBJScript动态数据类型
*<%@ Page Language="VB" Strict="true" %>
*使用存储过程数据访问
*只读数据访问不要使用DataSet
*使用SqlDataReader代替DataSet
*SqlDataReaderread-only, forward-only
*关闭ASP.NETDebug模式
*使用ASP.NET Output Cache缓冲数据

 
*页面缓冲
*<%@OutputCache%>
*Duration
*VaryByParam
*片断缓冲
*VaryByControl


 
*数据缓冲
*过期依赖条件
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));

原创粉丝点击