SqlDataSource.SqlCacheDependency Property

Note: This property is new in the .NET Framework version 2.0.

Gets or sets a semicolon-delimited string that indicates which databases and tables to use for the Microsoft SQL Server cache dependency.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public virtual string SqlCacheDependency { get; set; }
/** @property */
public String get_SqlCacheDependency ()

/** @property */
public void set_SqlCacheDependency (String value)

public function get SqlCacheDependency () : String

public function set SqlCacheDependency (value : String)

Property Value

A string that indicates which databases and tables to use for the SQL Server cache dependency.

The SqlDataSource control supports an optional expiration policy based on the SqlCacheDependency object for the data cache (the service must be configured for the database server).

The SqlCacheDependency string identifies databases and tables according to the same format that is used by the @ Page directive, where the first part of the string is a connection string to a Microsoft SQL Server database, followed by a colon delimiter, and finally the name of the database table (for example, "connectionstring1:table1"). If the SqlCacheDependency property depends on more than one table, the connection string-and-table name pairs are separated by semicolons (for example, "connectionstring1:table1";connectionstring2:table2").

Security noteSecurity Note

When you are using client impersonation under Microsoft Windows authentication, the data is cached when the first user accesses the data. If another user requests the same data, the data is retrieved from the cache. The data is not retrieved by making another call to the database to verify the user's access to the data. If you expect more than one user to access the data, and you want each retrieval to the data to be verified by the security configurations for the database, do not use caching.

The following code example demonstrates how to create a SQL Server cache dependency and set the SqlCacheDependency property of a SqlDataSource control. In this example, the database is polled every 120 seconds. If the data in the Northwind Traders Employees table changes during that time, any data that is cached by the SqlDataSource control and displayed by the GridView control is refreshed by the SqlDataSource control the next time the database is polled.

<%@ Page language="c#" %>


The page uses an example configuration that includes
connection strings and a defined SqlCacheDependecy.

<?xml version="1.0"?>

    <add name="MyNorthwind"
         connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"
         providerName="System.Data.SqlClient" />

      <sqlCacheDependency enabled="true">
            pollTime="120000" />


    <form id="Form1" method="post" runat="server">

          datasourceid="SqlDataSource1" />

          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT EmployeeID,FirstName,Lastname FROM Employees"
          sqlcachedependency="Northwind:Employees" />


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions