SqlDataSource.SqlCacheDependency Свойство

Определение

Возвращает или задает разделенную точками с запятой строку, которая показывает, какие базы данных и таблицы используются для зависимости кэша 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

Значение свойства

Строка, которая показывает, какие базы данных и таблицы используются для зависимости кэша Microsoft SQL Server.A string that indicates which databases and tables to use for the SQL Server cache dependency.

Примеры

В следующем примере кода показано, как создать зависимость кэша SQL Server и задать SqlCacheDependency свойство SqlDataSource элемента управления.The following code example demonstrates how to create a SQL Server cache dependency and set the SqlCacheDependency property of a SqlDataSource control. В этом примере база данных опрашивается каждые 120 секунд.In this example, the database is polled every 120 seconds. Если данные в таблице «Сотрудники компании Northwind» изменяются в течение этого времени, все данные, кэшируемые SqlDataSource элементом управления и отображаемые GridView элементом управления, обновляются SqlDataSource элементом управления при следующем опросе базы данных.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>

Комментарии

Элемент управления поддерживает необязательную политику срока действия на основе SqlCacheDependency объекта для кэша данных (служба должна быть настроена для сервера базы данных). SqlDataSourceThe 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).

Строка определяет базы данных и таблицы в соответствии с тем же форматом, который используется @ Page директивой, где первая часть строки представляет собой строку подключения к Microsoft SQL Server базе данных, за которой следует разделитель-двоеточие и SqlCacheDependency Наконец, имя таблицы базы данных (например, "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"). Если свойство зависит от более чем одной таблицы, пары "строка соединения — имя таблицы" разделяются точками с запятой (например, "connectionstring1:table1";connectionstring2:table2"). SqlCacheDependencyIf 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").

Важно!

При использовании олицетворения клиента при проверке подлинности Microsoft Windows данные кэшируются, когда первый пользователь обращается к данным.When you are using client impersonation under Microsoft Windows authentication, the data is cached when the first user accesses the data. Если другой пользователь запрашивает одни и те же данные, данные извлекаются из кэша.If another user requests the same data, the data is retrieved from the cache. Данные не извлекаются путем совершения другого обращения к базе данных для проверки доступа пользователя к данным.The data is not retrieved by making another call to the database to verify the user's access to the data. Если предполагается, что доступ к данным будет осуществляться более чем одним пользователем, и каждый из них должен быть проверен на наличие данных конфигураций безопасности для базы данных, не используйте кэширование.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.

Применяется к

Дополнительно