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 chiaveMyData1
per assegnarli aSource
. Viene quindi verificato che i dati siano ancora memorizzati nella Cache e viene assegnataSource
come proprietà DataSource di un controllo server Web DataGrid denominatoMyDataGrid
. I dati vengono infine associati aMyDataGrid
.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