Using the Session Cache
To find data in a session cache and save changes there when data is changed, complete the following steps. Note that in this example a DataList was created and bound to a C1WebDataSet.
1. Add a DataList and C1WebDataSet to your project.
2. Add the following code to your Page_Load event to find data in the session cache, if it is there:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' try to find data in session cache first
If Not SessionCache.Fill(C1WebDataSet1) Then
' not found in session cache, fetch from the database
C1WebDataSet1.Fill()
' save changes in session cache every time you change data in the data set
SessionCache.SaveData(C1WebDataSet1)
End If
End Sub
• C#
private void Page_Load(object sender, System.EventArgs e)
{
// try to find data in session cache first
if (!SessionCache.Fill(c1WebEmployeesDataSet))
{
// not found in session cache, fetch from the
// database
c1WebEmployeesDataSet.Fill();
// save changes in session cache every time
// you change data in the data set
SessionCache.SaveData(c1WebEmployeesDataSet);
}
}
3. To save changes in session cache every time you change data in the data set, add the following code:
Public Sub DataList1_Update(ByVal sender As Object, ByVal e As DataListCommandEventArgs)
' save changes in session cache every time you change
' data in the data set
SessionCache.SaveData(C1WebDataSet1)
End Sub
• C#
public void DataList1_Update(Object sender, DataListCommandEventArgs e)
{
// save changes in session cache every time you
// change data in the data set
SessionCache.SaveData(c1WebEmployeesDataSet);
DataList1.EditItemIndex = -1;
BindList();
}
4. Clean up the cache files when a session is closed. Enter the following code in the Global.asax:
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
SessionCache.DeleteFiles(Me)
End Sub
• C#
protected void Session_End(Object sender, EventArgs e)
{
SessionCache.DeleteFiles(this);
}
Sample
Available
For additional information see the UsingSessionCache sample which is available for download from the ComponentOne HelpCentral Sample page.
|