0

Azure クラウドにある Web サイトで作業している場合、"ハイブリッド" キャッシュを実装する必要があります。

つまり、私のウェブサイトは特定のデータベースからのレコードのテーブルを表示し、新しいレコードを追加するか、既存のレコードを更新するオプションを提供します。読み取りにはインプロセス キャッシュを実装する必要があり、書き込み (追加、更新) にはアウトプロセス キャッシュが必要です。

私はC#と紺碧でかなり新しいです。初めまして、少しでもお役に立てれば幸いです...

現在、単純な 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

私は与えられた助けに感謝します

ありがとう

4

1 に答える 1

2

Azure キャッシュの使用方法に関するリンク。ここにWindows Server AppFabricのリンクがあります

アーキテクチャ上、キャッシングは SQL クエリより上のレベルで実装する必要があります。

ところで、C# を初めて使用し、Web ベースのアプリを開発している場合は、素敵なMVVM パターンであるEntity Frameworkを見て 、おそらくASP MVCを使用することをお勧めします。エンティティ フレームワークだけでも多くの時間を節約でき、コードの保守性も大幅に向上します。

編集

アイテムをキャッシュに追加する正しい方法 - 以下に例を示します。Employees というテーブルがあるとします。データセットを作成し、クエリの結果をそのデータセットに入力できます。これをキャッシュに保存できます。

繰り返しますが、これを簡単に実行できるエンティティ フレームワークを参照してください。上記の例に基づいて、EF を使用すると、C# でクラス Employee を簡単に作成し、クエリの結果をそのクラスに入力できます。

どちらの場合も、キャッシュ コードは SQL クエリの上にあります。そのため、メソッドとして GetEmployeeDetails() を使用して別のクラスを作成します。データが存在するかどうかを確認するためにキャッシュをヒットする getEmployeeDetails() への呼び出しを発行します。そうでない場合は、SQL にヒットします。

すべてを page_load から独自のクラスに移動します。

于 2013-05-13T09:07:28.967 に答える