SqlDataSource.SqlCacheDependency Propriedade

Definição

Obtém ou define uma cadeia de caracteres separada por ponto-e-vírgula que indica quais bancos de dados e tabelas usar para a dependência de cache do 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

Valor da propriedade

String

Uma cadeia de caracteres que indica quais bancos de dados e tabelas usar para a dependência de cache do SQL Server.

Exemplos

O exemplo de código a seguir demonstra como criar uma dependência de cache SQL Server e definir a SqlCacheDependency propriedade de um SqlDataSource controle. Neste exemplo, o banco de dados é sondado a cada 120 segundos. Se os dados na tabela Funcionários da Northwind Traders forem alterados durante esse período, todos os SqlDataSource dados armazenados em cache pelo controle e exibidos pelo GridView controle serão atualizados pelo controle na SqlDataSource próxima vez que o banco de dados for pesquisado.

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

Comentários

O SqlDataSource controle dá suporte a uma política de expiração opcional com base no SqlCacheDependency objeto para o cache de dados (o serviço deve ser configurado para o servidor de banco de dados).

A SqlCacheDependency cadeia de caracteres identifica bancos de dados e tabelas de acordo com o mesmo formato usado pela @ Page diretiva, em que a primeira parte da cadeia de caracteres é uma cadeia de conexão com um banco de dados Microsoft SQL Server, seguido por um delimitador de dois-pontos e, por fim, o nome da tabela de banco de dados (por exemplo, "connectionstring1:table1"). Se a SqlCacheDependency propriedade depender de mais de uma tabela, os pares de nome de cadeia de conexão e de tabela serão separados por ponto e vírgula (por exemplo, "connectionstring1:table1";connectionstring2:table2").

Importante

Quando você está usando a representação do cliente no Microsoft autenticação do Windows, os dados são armazenados em cache quando o primeiro usuário acessa os dados. Se outro usuário solicitar os mesmos dados, os dados serão recuperados do cache. Os dados não são recuperados fazendo outra chamada ao banco de dados para verificar o acesso do usuário aos dados. Se você espera que mais de um usuário acesse os dados e deseja que cada recuperação para os dados seja verificada pelas configurações de segurança do banco de dados, não use o cache.

Aplica-se a

Confira também