SqlDataSource.SqlCacheDependency プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 認証 でクライアントの偽装を使用している場合、最初のユーザーがデータにアクセスすると、データがキャッシュされます。 別のユーザーが同じデータを要求した場合、データはキャッシュから取得されます。 データは、ユーザーのデータへのアクセスを確認するためにデータベースを別の呼び出しで取得しません。 複数のユーザーがデータにアクセスする必要があり、データベースのセキュリティ構成によってデータを取得するたびに検証されるようにする場合は、キャッシュを使用しないでください。