共用方式為


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

屬性值

字串,表示用於 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 驗證下使用用戶端模擬時,數據會在第一位使用者存取數據時快取。 如果其他使用者要求相同的數據,則會從快取擷取數據。 不會透過對資料庫進行另一個呼叫來擷取數據,以驗證使用者對數據的存取權。 如果您預期有多個使用者存取數據,而且您希望每個擷取到資料庫的安全性組態驗證數據,請勿使用快取。

適用於

另請參閱