注:此系列記錄在我實際開發中遇到的問題和收藏一些技巧文章。今天開始 第一篇。
本篇技巧和訣竅記錄的是:使用GridView控件來綁定數據庫,利用緩存技術 提高程序的性能。
//添加這個引用
using System.Data.SqlClient;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindData();
}
}
private void BindData()
{
if (Cache["Cache"] == null)
{
SqlConnection con = new SqlConnection("Data Source=
.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|NORTHWND.MDF;
Integrated Security=True;User Instance=True");
SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM Categories",
con);
DataSet ds = new DataSet();
ad.Fill(ds);
Cache.Insert("Cache", ds, null, DateTime.Now.AddMinutes(2),
TimeSpan.Zero);
GridView1.DataSource = ds;
}
else
GridView1.DataSource = (DataSet)Cache["Cache"];
GridView1.DataBind();
}
主要這句:
Cache.Insert("Cache", ds, null, DateTime.Now.AddMinutes(2), TimeSpan.Zero);
第一個參數:用於引用該對象的緩存鍵。
第二個參數:要插入緩存中的對象。
第三個參數:所插入對象的文件依賴項或緩存鍵依賴項。當任何依賴項更改 時,該對象即無效,並從緩存中移除。如果沒有依賴項,則此參數包含 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing)。
第四個參數:所插入對象將過期並被從緩存中移除的時間。若要避免可能出 現的本地時間方面的問題(如從標准時間更改為夏時制),請對此參數值使用 UtcNow,不要使用 Now。如果使用絕對過期,則 slidingExpiration 參數必須 為 NoSlidingExpiration。
第五個參數:最後一次訪問所插入對象時與該對象過期時之間的時間間隔。 如果該值等效於 20 分鐘,則對象在最後一次被訪問 20 分鐘之後將過期並被從 緩存中移除。如果使用可調過期,則 absoluteExpiration 參數必須為 NoAbsoluteExpiration