Condividi tramite


SqlDataSource.SqlCacheDependency Proprietà

Definizione

Ottiene o imposta una stringa delimitata da punto e virgola che indica quali database e tabelle utilizzare per la dipendenza della cache di Microsoft SQL Server.

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

Valore della proprietà

Stringa che indica quali database e tabelle usare per la dipendenza della cache di SQL Server.

Esempio

Nell'esempio di codice seguente viene illustrato come creare una dipendenza della cache di SQL Server e impostare la SqlCacheDependency proprietà di un SqlDataSource controllo . In questo esempio viene eseguito il polling del database ogni 120 secondi. Se i dati nella tabella Northwind Traders Employees cambiano durante tale periodo, tutti i dati memorizzati nella cache dal SqlDataSource controllo e visualizzati dal GridView controllo vengono aggiornati dal SqlDataSource controllo alla successiva esecuzione del polling del database.

<%@ 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>

Commenti

Il SqlDataSource controllo supporta un criterio di scadenza facoltativo basato sull'oggetto SqlCacheDependency per la cache dei dati (il servizio deve essere configurato per il server di database).

La SqlCacheDependency stringa identifica i database e le tabelle in base allo stesso formato usato dalla @ Page direttiva , in cui la prima parte della stringa è una stringa di connessione a un database di Microsoft SQL Server, seguita da un delimitatore di due punti e infine il nome della tabella di database , ad esempio "connectionstring1:table1". Se la SqlCacheDependency proprietà dipende da più tabelle, le coppie di nomi di stringa di connessione e tabella sono separate da punto e virgola (ad esempio, "connectionstring1:table1";connectionstring2:table2").

Importante

Quando si usa la rappresentazione client nell'autenticazione di Microsoft Windows, i dati vengono memorizzati nella cache quando il primo utente accede ai dati. Se un altro utente richiede gli stessi dati, i dati vengono recuperati dalla cache. I dati non vengono recuperati effettuando un'altra chiamata al database per verificare l'accesso dell'utente ai dati. Se si prevede che più di un utente accinga ai dati e si vuole che ogni recupero ai dati venga verificato dalle configurazioni di sicurezza per il database, non usare la memorizzazione nella cache.

Si applica a

Vedi anche