2013-05-13 33 views
0

對於我在蔚藍雲中的網站,並且我在工作,我需要實現「混合」緩存。組合cache中的azure緩存提供程序#

這意味着,我的網站會顯示某個數據庫的記錄表,並提供一個選項來添加新記錄或更新現有記錄。對於讀取,我需要實現進程內緩存,而對於寫入(添加,更新),我需要具有進程外緩存。

我在C#和azure上很新。我會很高興得到一些幫助,開始與...

目前,我用簡單的SQL命令來顯示,添加或更新:

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Page.IsPostBack) 
       GridView1.DataBind(); 
} 

protected void Button1_Click(object sender, EventArgs e) 
     { 
      string InsertCommand = "INSERT INTO [Students] ([Student_Name], [GPA]) VALUES (@Student_Name, @GPA)"; 
      string connString = SqlAzureDataSource.ConnectionString; 
      using (SqlConnection conn = new SqlConnection(connString)) 
      { 
       using (SqlCommand comm = new SqlCommand()) 
       { 
        comm.Connection = conn; 
        comm.CommandText = InsertCommand; 
        comm.Parameters.AddWithValue("@Student_Name", TextBox1.Text); 
        comm.Parameters.AddWithValue("@GPA", TextBox2.Text); 

        try 
        { 
         conn.Open(); 
         comm.ExecuteNonQuery(); 
         this.DataBind(); 
        } 
        catch (SqlException ex) 
        { 
         Console.WriteLine(ex.StackTrace); 
        } 
       } 
      } 
     } 
// Similar for UPDATE 

我會感激給予任何幫助

謝謝

回答

2

Link關於如何使用Azure緩存。這裏是鏈接Windows Server AppFabric

從體系結構上講,緩存必須在SQL查詢之上執行一個級別。

順便說一句,如果你是新的C#和正在開發一個基於Web的應用程序可能我建議你看看Entity Framework,一個不錯MVVM pattern,也許使用ASP MVC。單獨的實體框架將爲您節省大量時間,代碼將更加可維護。

編輯

將項目添加到高速緩存正確的方式 - 這是一個例子。讓我們假設你有一張名爲Employees的表。 您可以創建數據集並將查詢結果填入該數據集。您可以將其保存在緩存中。

再次,請參閱實體框架,這將允許您輕鬆地做到這一點。基於上述示例,EF將輕鬆地允許您在C#中創建一個Employee類,並將查詢結果填入該類。

這兩種情況下的高速緩存代碼都將位於SQL查詢的頂部。因此,使用GetEmployeeDetails()作爲方法創建一個單獨的類。向發出緩存的getEmployeeDetails()發出一個調用,以查看數據是否存在。如果沒有,它會擊中SQL。

將所有內容從page_load移出到它們自己的類。

+0

我碰到了你給我的鏈接,這真的很有幫助。但是,有些事情我不明白,它解釋瞭如何在緩存中添加項目,如果項目是sql表記錄,我該如何做?還有一件事,我把所有的緩存代碼放在哪裏?在Page_Load中?別的地方? – DanielY 2013-05-13 09:12:21

+0

編輯我的答案以添加更多詳細信息 – eightyeight 2013-05-13 09:19:59

+0

非常感謝! – DanielY 2013-05-13 09:34:23

相關問題