SqlDataSource.CacheExpirationPolicy プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As SqlDataSource Dim value As DataSourceCacheExpiry value = instance.CacheExpirationPolicy instance.CacheExpirationPolicy = value
public: virtual property DataSourceCacheExpiry CacheExpirationPolicy { DataSourceCacheExpiry get (); void set (DataSourceCacheExpiry value); }
/** @property */ public DataSourceCacheExpiry get_CacheExpirationPolicy () /** @property */ public void set_CacheExpirationPolicy (DataSourceCacheExpiry value)
public function get CacheExpirationPolicy () : DataSourceCacheExpiry public function set CacheExpirationPolicy (value : DataSourceCacheExpiry)
DataSourceCacheExpiry 値の 1 つ。既定値は Absolute です。

SqlDataSource コントロールは、データのキャッシュをサポートしています。データがキャッシュされる間、Select メソッドは、基になるデータベースではなくキャッシュからデータを取得します。キャッシュの有効期限が切れると、Select メソッドは基になるデータベースからデータを取得し、そのデータを再びキャッシュします。
キャッシュの動作は、CacheDuration 設定と CacheExpirationPolicy 設定の組み合わせによって決定されます。CacheExpirationPolicy プロパティを Absolute 値に設定した場合、SqlDataSource は最初のデータ取得操作でデータをキャッシュし、CacheDuration プロパティで指定された時間、メモリ内にデータを保持して、その時間が経過した後データを破棄します。この場合、キャッシュは次の操作時に更新されます。CacheExpirationPolicy プロパティを Sliding 値に設定した場合、データ ソース コントロールは、最初のデータ取得操作でデータをキャッシュしますが、これ以降操作を行うたびに、キャッシュを保持する時間ウィンドウをリセットします。最後の Select 操作の後、CacheDuration 値で指定された時間と等しい時間、アクティビティがない場合は、キャッシュの有効期限が切れます。
SqlDataSource コントロールがデータをキャッシュできるのは、DataSet モードの場合だけです。SqlDataSource コントロールが DataReader 値に設定され、キャッシュも有効な場合、Select メソッドによって NotSupportedException 例外がスローされます。
![]() |
---|
Microsoft Windows 認証の下でクライアント偽装を使用している場合、最初のユーザーがデータにアクセスすると、データがキャッシュされます。別のユーザーが同じデータを要求した場合、データはキャッシュから取得されます。データベースに対してもう一度呼び出しを行っても、ユーザーのデータへのアクセスを確認するためにデータ取得を実行することはありません。複数ユーザーによるデータへのアクセスが想定され、データが取得されるたびにデータベースのセキュリティ構成を使用して検証する場合は、キャッシュを使用しないでください。 |

データ キャッシュが有効な状態で、Microsoft SQL Server の Northwind データベースからデータを取得し、GridView コントロールに表示する方法を次のコード例に示します。CacheExpirationPolicy プロパティが Sliding 値に設定されているため、CacheDuration 値が 20 秒でも、ユーザーには新しいデータは表示されません。キャッシュされたデータは、最後のページ読み込みから 20 秒以上、ページでアクティビティがない場合のみ更新されます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" EnableCaching="True" CacheDuration="20" CacheExpirationPolicy="Sliding" SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <columns> <asp:BoundField HeaderText="First Name" DataField="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" /> <asp:BoundField HeaderText="Title" DataField="Title" /> </columns> </asp:GridView> </FORM> </BODY> </HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" EnableCaching="True" CacheDuration="20" CacheExpirationPolicy="Sliding" SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <columns> <asp:BoundField HeaderText="First Name" DataField="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" /> <asp:BoundField HeaderText="Title" DataField="Title" /> </columns> </asp:GridView> </FORM> </BODY> </HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <BODY> <FORM runat="server"> <asp:SqlDataSource id="SqlDataSource1" runat="server" DataSourceMode="DataSet" ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" EnableCaching="True" CacheDuration="20" CacheExpirationPolicy="Sliding" SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"> </asp:SqlDataSource> <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField HeaderText="First Name" DataField="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" /> <asp:BoundField HeaderText="Title" DataField="Title" /> </Columns> </asp:GridView> </FORM> </BODY> </HTML>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlDataSource.CacheExpirationPolicy プロパティを検索する場合は、下記のリンクをクリックしてください。

- SqlDataSource.CacheExpirationPolicy プロパティのページへのリンク