次の方法で共有


CacheDependency クラス

ASP.NET アプリケーションの Cache オブジェクトに格納されている項目と、ファイル、キャッシュ キー、ファイルまたキャッシュ キーの配列、または別の CacheDependency オブジェクトとの間に依存関係を確立します。CacheDependency クラスは依存関係を監視し、依存関係が変更されたときにキャッシュされた項目が自動的に削除されるようにします。

名前空間: System.Web.Caching
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Class CacheDependency
    Implements IDisposable
'使用
Dim instance As CacheDependency
public class CacheDependency : IDisposable
public ref class CacheDependency : IDisposable
public class CacheDependency implements IDisposable
public class CacheDependency implements IDisposable
適用できません。

解説

ファイルやファイルの配列などの別のオブジェクトに依存しているキャッシュに項目を追加すると、依存する項目はオブジェクトが変更されるときにキャッシュから自動的に削除されます。たとえば、XML ファイルのデータに基づいて DataSet オブジェクトを作成するとします。DataSet を XML ファイルに依存させる CacheDependency オブジェクトを使用して、DataSet をキャッシュに追加できます。この XML ファイルが変更されると、DataSet はキャッシュから削除されます。

Add メソッドと System.Web.Caching.Cache.Insert メソッドを使用して、依存関係を持つ項目をアプリケーションのキャッシュに追加できます。依存関係を持つ項目をキャッシュに追加するのに、Item プロパティを使用することはできません。

依存関係を設定するには、CacheDependency クラスのインスタンスを作成し、ファイル、キー、または項目が依存するディレクトリを指定します。次に、この依存関係を Add メソッドまたは System.Web.Caching.Cache.Insert メソッドに渡します。CacheDependency インスタンスは、単一のファイルまたはディレクトリ、ファイルまたはディレクトリの配列、ファイルまたはディレクトリの配列に (Cache オブジェクトに格納されている他の項目を表す) キャッシュ キーの配列を加えたものを表すことができます。

使用例

HasChanged プロパティを使用して、Cache の項目に対する前の要求以降に CacheDependency が変更されたかどうかを確認するコード例を次に示します。start パラメータに渡される dt 値は、DateTime.Now に設定されます。

' Insert the cache item.
Dim dep As New CacheDependency(fileName, dt)
myCache.Insert("key", "value", dep)

' Check whether CacheDependency.HasChanged is true.
If dep.HasChanged Then
   Response.Write("<p>The dependency has changed.")
Else
   Response.Write("<p>The dependency has not changed.")
End If 
// Insert the cache item.
CacheDependency dep = new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);

// Check whether CacheDependency.HasChanged is true.
if (dep.HasChanged)
  Response.Write("<p>The dependency has changed.");  
else Response.Write("<p>The dependency has not changed.");
// Insert the cache item.
CacheDependency dep =  new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);

// Check whether CacheDependency.HasChanged is true.
if (dep.get_HasChanged()) {
    get_Response().Write("<p>The dependency has changed.");
}
else {
    get_Response().Write("<p>The dependency has not changed.");
} 

.NET Framework のセキュリティ

  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)。要求値 : LinkDemand。アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)。要求値 : InheritanceDemand。アクセス許可値 : Minimal

継承階層

System.Object
  System.Web.Caching.CacheDependency
     System.Web.Caching.AggregateCacheDependency
     System.Web.Caching.SqlCacheDependency

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

CacheDependency メンバ
System.Web.Caching 名前空間
Cache
Insert

その他の技術情報

アプリケーション データのキャッシュ