次の方法で共有


キャッシュされたアイテムの値の取得

Cache からデータを取得するには、そのデータを表すキーと値を指定します。次に、データをページに表示するコードを作成します。

キャッシュされたアイテムの値を取得するには

  • DataView オブジェクト Source を作成し、キー MyData1 が割り当てられたキャッシュされたデータを取得し、そのデータを Source に割り当てるコードを次に示します。次に、データがまだ Cache 内に格納されているかどうかを確認し、MyDataGrid という名前の DataGrid Web サーバー コントロールの DataSource プロパティとして Source を割り当てます。次に、そのデータを MyDataGrid にバインドします。

    DataView Source;
    Source = (DataView)Cache["MyData1"];
    
    if(Source != null ) {
      MyDataGrid.DataSource = Source;
      MyDataGrid.DataBind();
    }
    [Visual Basic]
    Dim Source As DataView
    Source = CType(Cache("MyData1"), DataView)
    If Not (Source Is Nothing) Then
       MyDataGrid.DataSource = Source
       MyDataGrid.DataBind()
    End If 
    

アイテムが Cache に存在するかどうかをチェックするには

  • データ ソースまたはデータ セットが Cache 内に存在しない場合、アプリケーションがどのように応答するかはより複雑な問題です。キャッシュされたデータの有無をチェックするために、上に示したプロシージャのコードを変更した例を次に示します。データがキャッシュに存在しない場合、この例ではそのデータを再作成し、Cache に追加します。

    DataView Source = (DataView)Cache["MyData1"];
    if (Source == null) {
       SqlConnection myConnection = new SqlConnection("server=localhost;Integrated Security=SSPI;database=pubs");
       SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);
    
       DataSet ds = new DataSet();
       myCommand.Fill(ds, "Authors");
    
       Source = new DataView(ds.Tables["Authors"]);
       Cache["MyData1"] = Source;
    }
    MyDataGrid.DataSource=Source;
    MyDataGrid.DataBind();
    [Visual Basic]
    Dim Source As DataView = CType(Cache("MyData1"), DataView)
    If Source Is Nothing Then
       Dim myConnection As New SqlConnection("server=localhost;Integrated Security=SSPI;database=pubs")
       Dim myCommand As New SqlDataAdapter("select * from Authors", myConnection)
    
       Dim ds As New DataSet()
       myCommand.Fill(ds, "Authors")
    
       Source = New DataView(ds.Tables("Authors"))
       Cache("MyData1") = Source
    End If
    MyDataGrid.DataSource = Source
    MyDataGrid.DataBind()
    

参照

アプリケーション データのキャッシュ | キャッシュへのアイテムの追加 | キャッシュからのアイテムの削除 | キャッシュからアイテムが削除されたときのアプリケーションへの通知