SqlDataSource.SqlCacheDependency Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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 do 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 dados armazenados em cache pelo SqlDataSource controle e exibidos pelo GridView controle serão atualizados pelo controle na SqlDataSource próxima vez que o banco de dados for sondado.
<%@ 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 para um banco de dados do Microsoft SQL Server, seguida 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 da cadeia de conexão e da tabela serão separados por ponto e vírgula (por exemplo, "connectionstring1:table1";connectionstring2:table2"
).
Importante
Quando você estiver usando a representação do cliente na autenticação do Microsoft Windows, os dados serão armazenados em cache quando o primeiro usuário acessar 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 para o 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 dos dados seja verificada pelas configurações de segurança do banco de dados, não use cache.