SqlDataSource.SqlCacheDependency Propiedad

Definición

Obtiene o establece una cadena delimitada por puntos y comas que indica las bases de datos y las tablas que deben utilizarse para la dependencia de caché de Microsoft SQL Server.Gets or sets a semicolon-delimited string that indicates which databases and tables to use for the Microsoft SQL Server cache dependency.

public:
 virtual property System::String ^ SqlCacheDependency { System::String ^ get(); void set(System::String ^ value); };
public virtual string SqlCacheDependency { get; set; }
member this.SqlCacheDependency : string with get, set
Public Overridable Property SqlCacheDependency As String

Valor de propiedad

String

Cadena que indica las bases de datos y las tablas que deben utilizarse para la dependencia de caché de SQL Server.A string that indicates which databases and tables to use for the SQL Server cache dependency.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una SQL Server dependencia de caché y establecer la SqlCacheDependency propiedad de un SqlDataSource control.The following code example demonstrates how to create a SQL Server cache dependency and set the SqlCacheDependency property of a SqlDataSource control. En este ejemplo, la base de datos se sondea cada 120 segundos.In this example, the database is polled every 120 seconds. Si los datos de la tabla de empleados de Northwind Traders cambian durante ese tiempo, el control actualiza los datos almacenados en memoria caché por el control y que muestra el control SqlDataSource GridView SqlDataSource la próxima vez que se sondea la base de datos.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"?>
<configuration>

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

  <system.web>
    <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <add
            name="Northwind"
            connectionStringName="MyNorthwind"
            pollTime="120000" />
        </databases>
      </sqlCacheDependency>
    </caching>

  </system.web>
</configuration>
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="SqlDataSource1" />

        <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT EmployeeID,FirstName,Lastname FROM Employees"
          enablecaching="True"
          cacheduration="300"
          cacheexpirationpolicy="Absolute"
          sqlcachedependency="Northwind:Employees" />

    </form>
  </body>
</html>
<%@ Page language="vb" %>

<!--

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

<?xml version="1.0"?>
<configuration>

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

  <system.web>
    <caching>
      <sqlCacheDependency enabled="true">
        <databases>
          <add
            name="Northwind"
            connectionStringName="MyNorthwind"
            pollTime="120000" />
        </databases>
      </sqlCacheDependency>
    </caching>

  </system.web>
</configuration>
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="SqlDataSource1" />

        <asp:sqldatasource
          id="SqlDataSource1"
          runat="server"
          connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
          selectcommand="SELECT EmployeeID,FirstName,Lastname FROM Employees"
          enablecaching="True"
          cacheduration="300"
          cacheexpirationpolicy="Absolute"
          sqlcachedependency="Northwind:Employees" />

    </form>
  </body>
</html>

Comentarios

El SqlDataSource control admite una directiva de expiración opcional basada en el SqlCacheDependency objeto de la memoria caché de datos (el servicio debe estar configurado para el servidor de base de datos).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).

La SqlCacheDependency cadena identifica las bases de datos y las tablas según el mismo formato que usa la @ Page Directiva, donde la primera parte de la cadena es una cadena de conexión a una base de datos de Microsoft SQL Server, seguida de un delimitador de dos puntos y, por último, el nombre de la tabla de base de datos (por ejemplo, "connectionstring1:table1" ).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"). Si la SqlCacheDependency propiedad depende de más de una tabla, los pares de nombre de cadena de conexión y de tabla se separan mediante signos de punto y coma (por ejemplo, "connectionstring1:table1";connectionstring2:table2" ).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").

Importante

Cuando se usa la suplantación de cliente en la autenticación de Microsoft Windows, los datos se almacenan en caché cuando el primer usuario obtiene acceso a los datos.When you are using client impersonation under Microsoft Windows authentication, the data is cached when the first user accesses the data. Si otro usuario solicita los mismos datos, los datos se recuperan de la memoria caché.If another user requests the same data, the data is retrieved from the cache. Los datos no se recuperan realizando otra llamada a la base de datos para comprobar el acceso del usuario a los datos.The data is not retrieved by making another call to the database to verify the user's access to the data. Si espera que más de un usuario tenga acceso a los datos y desea que cada recuperación de los datos sea comprobada por las configuraciones de seguridad para la base de datos, no utilice el almacenamiento en caché.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.

Se aplica a

Consulte también