Recupero dei valori degli elementi memorizzati nella cache

Il recupero di dati dalla Cache è un'operazione semplice: è sufficiente specificare la chiave e il valore che rappresentano i dati. Si può quindi scrivere il codice per visualizzare i dati sulla pagina.

Per recuperare il valore di un elemento memorizzato nella cache

  • Nell'esempio di codice che segue viene creato un oggetto DataView Source, quindi si tenta di recuperare dalla cache dati aventi chiave MyData1 per assegnarli a Source. Viene quindi verificato che i dati siano ancora memorizzati nella Cache e viene assegnata Source come proprietà DataSource di un controllo server Web DataGrid denominato MyDataGrid. I dati vengono infine associati a 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 
    

Per verificare l'esistenza di un elemento nella Cache

  • Il modo in cui l'applicazione risponde quando l'origine dati o il set di dati non si trova nella Cache è più complesso. Nell'esempio seguente il codice della routine precedente viene modificato per verificare la presenza dei dati memorizzati nella cache. Se i dati non si trovano nella cache, vengono ricreati e aggiunti alla 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()
    

Vedere anche

Memorizzazione nella cache dei dati dell'applicazione | Aggiunta di elementi alla Cache | Eliminazione di elementi dalla Cache | Notifica all'applicazione dell'eliminazione di un elemento dalla Cache