SqlDataSource caching : SqlDataSource cache « Cache « ASP.NET Tutorial






<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:SqlDataSource ID="sourceEmployeeCities" 
                           runat="server" 
                           ProviderName="System.Data.SqlClient" 
                           ConnectionString="<%$ ConnectionStrings:Northwind %>" 
                           SelectCommand="SELECT DISTINCT City FROM Employees"
                           EnableCaching="True" 
                           CacheDuration="3600">
        </asp:SqlDataSource>
        <asp:DropDownList ID="lstCities" 
                          runat="server" 
                          DataSourceID="sourceEmployeeCities"
                          DataTextField="City" 
                          Width="205px" 
                          AutoPostBack="True">
        </asp:DropDownList>
            
        <asp:SqlDataSource ID="sourceEmployees" 
                           runat="server" 
                           ProviderName="System.Data.SqlClient" 
                           ConnectionString="<%$ ConnectionStrings:Northwind %>" 
                           SelectCommand="SELECT EmployeeID, FirstName, LastName, Title, City FROM Employees WHERE City=@City"
                           EnableCaching="True" 
                           CacheDuration="600">
            <SelectParameters>
                <asp:ControlParameter ControlID="lstCities" Name="City" PropertyName="SelectedValue" />
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:GridView ID="GridView1" 
                      runat="server" 
                      DataSourceID="sourceEmployees" 
                      AutoGenerateColumns="False" 
                      DataKeyNames="EmployeeID">
            <AlternatingRowStyle BackColor="White" />
            <Columns>
                <asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID" InsertVisible="False"
                    ReadOnly="True" SortExpression="EmployeeID" />
                <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
                <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
                <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
                <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
            </Columns>
        </asp:GridView>
    
    </div>
    </form>
</body>
</html>

File: Web.config

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="Northwind" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI"/>
  </connectionStrings>
</configuration>








13.13.SqlDataSource cache
13.13.1.SqlDataSource caching
13.13.2.Adding Items with an Absolute Expiration Policy
13.13.3.Adding Items with a Sliding Expiration Policy
13.13.4.Adding Items with Dependencies