SqlDataSource.SqlCacheDependency Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает разделенную точками с запятой строку, которая показывает, какие базы данных и таблицы используются для зависимости кэша 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
Значение свойства
Строка, которая показывает, какие базы данных и таблицы используются для зависимости кэша Microsoft SQL Server.
Примеры
В следующем примере кода показано, как создать зависимость кэша SQL Server и задать SqlCacheDependency свойство SqlDataSource элемента управления . В этом примере база данных опрашидается каждые 120 секунд. Если данные в таблице Northwind Traders Employees изменяются в течение этого времени, все данные, кэшированные элементом SqlDataSource управления и отображаемые элементом GridView управления, обновляются элементом SqlDataSource управления при следующем опросе базы данных.
<%@ 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>
Комментарии
Элемент SqlDataSource управления поддерживает необязательную политику истечения срока действия на SqlCacheDependency основе объекта для кэша данных (служба должна быть настроена для сервера базы данных).
Строка SqlCacheDependency идентифицирует базы данных и таблицы в том же формате, который используется директивой @ Page
, где первая часть строки представляет собой строку подключения к базе данных Microsoft SQL Server, за которой следует разделитель двоеточия и, наконец, имя таблицы базы данных (например, "connectionstring1:table1"
).
SqlCacheDependency Если свойство зависит от нескольких таблиц, пары имен строки подключения и таблицы разделяются точкой с запятой (например, "connectionstring1:table1";connectionstring2:table2"
).
Важно!
При использовании олицетворения клиента под проверкой подлинности Microsoft Windows данные кэшируются, когда первый пользователь обращается к данным. Если другой пользователь запрашивает те же данные, данные извлекаются из кэша. Данные не извлекаются путем другого вызова базы данных для проверки доступа пользователя к данным. Если предполагается, что доступ к данным будет осуществляться несколькими пользователями и требуется, чтобы каждый извлечение данных проверялся с помощью конфигураций безопасности базы данных, не используйте кэширование.