次の方法で共有


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 テーブルのデータが変更された場合、コントロールによってキャッシュされ、コントロールによってSqlDataSourceGridView表示されるデータは、次回データベースがポーリングされるときにコントロールによって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 認証でクライアントの偽装を使用している場合、最初のユーザーがデータにアクセスすると、データがキャッシュされます。 別のユーザーが同じデータを要求すると、データはキャッシュから取得されます。 データに対するユーザーのアクセスを確認するためにデータベースを別の呼び出しを行うことで、データは取得されません。 複数のユーザーがデータにアクセスする必要があり、データベースのセキュリティ構成によってデータを取得するたびに検証する場合は、キャッシュを使用しないでください。

適用対象

こちらもご覧ください