ASP.NET 开发实践--性能与缓存
1.使用IsPostBack屬性避免不必要的執行操作
?
代碼 //只要有用花交互就會執行這個事件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
?
代碼 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
總結
以上是生活随笔為你收集整理的ASP.NET 开发实践--性能与缓存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net framework 4.0环境
- 下一篇: asp.net Forums 之Http