CacheDependency クラス
アセンブリ: System.Web (system.web.dll 内)

Public Class CacheDependency Implements IDisposable
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."); }

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


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ ()
アセンブリ: System.Web (system.web.dll 内)



CacheDependency から派生するすべてのクラスが必要な場合に、このバージョンの CacheDependency コンストラクタを実装するクラスのコード例を次に示します。
' Declare the class. Public Class CustomCacheDependency Inherits CacheDependency ' Constructor with no arguments ' provided by CacheDependency class. Public Sub New() End Sub ' New ' Declare a Boolean field named disposedValue. ' This will be used by Disposed property. Private disposedValue As Boolean ' Create accessors for the Disposed property. Public Property Disposed As Boolean Get Return disposedValue End Get Set (ByVal value As Boolean) disposedValue = value End Set End Property ' Create a public method that sets the latest ' changed time of the CustomCacheDependency ' and notifies the underlying CacheDependency that the ' dependency has changed, even though the HasChanged ' property is false. Public Sub ResetDependency() If Me.HasChanged = False SetUtcLastModified(DateTime.MinValue) NotifyDependencyChanged(Me, EventArgs.Empty) End If End Sub ' Overrides the DependencyDispose method to set the ' Disposed proerty to true. This method automatically ' notifies the underlying CacheDependency object to ' release any resources associated with this class. Protected Overrides Sub DependencyDispose() Disposed = True End Sub End Class

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String)
アセンブリ: System.Web (system.web.dll 内)


filename パラメータで指定されたディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。

XML ファイルに依存する CacheDependency クラスのインスタンスを作成するコード例を次に示します。次に System.Web.Caching.Cache.Insert メソッドが、ファイルに依存する Cache に項目を追加します。
CacheDependency dep = new CacheDependency(Server.MapPath("isbn.xml")); Cache.Insert("ISBNData", Source, dep);
CacheDependency dep = new CacheDependency(get_Server(). MapPath("isbn.xml")); get_Cache().Insert("ISBNData", source, dep);
ファイルへの依存関係を持つ項目を Cache に追加する場合は、次の方法も使用できます。
' Make key1 dependent on a file. Dim dependency as new CacheDependency(Server.MapPath("isbn.xml")) Cache.Insert("key1", "Value 1", dependency) End If
// Make key1 dependent on a file. CacheDependency dependency = new CacheDependency(Server.MapPath("isbn.xml")); Cache.Insert("key1", "Value 1", dependency);
// Make key1 dependent on a file. var dependency : CacheDependency = new CacheDependency(Server.MapPath("isbn.xml")); Cache.Insert("key1", "Value 1", dependency);

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String[], String[], DateTime)
アセンブリ: System.Web (system.web.dll 内)

Dim filenames As String() Dim cachekeys As String() Dim start As DateTime Dim instance As New CacheDependency(filenames, cachekeys, start)
- filenames
キャッシュされているオブジェクトが依存しているファイルまたはディレクトリへのパスの配列。これらのリソースのいずれかが変更されると、キャッシュされているオブジェクトは無効になり、キャッシュから削除されます。

また、filenames パラメータで指定したディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。
![]() |
---|
変更の追跡がすぐに開始されます。この追跡は、start パラメータに直接基づくものではありません。start パラメータを使用して過去の日時を渡し、filenames パラメータまたは cachekeys パラメータで渡されたオブジェクトの最終更新日時をこれと突き合わせて確認します。いずれかのオブジェクトの最終更新日時が start パラメータで渡された日時よりも後の場合、キャッシュされた項目は Cache から削除されます。 |

CreateDependency メソッドを作成するコード例を次に示します。このメソッドを呼び出すと、DateTime オブジェクトが作成され、Cache.Item プロパティを使用して項目がキャッシュに追加されます。このとき、key パラメータには key1 が、値には Value 1 が使用されます。次に、文字列 dependencyKey の配列が値 key1 でも作成されます。この CacheDependency コンストラクタは次に、dependencyKey と DateTime オブジェクトをパラメータ引数として渡す CacheDependency オブジェクトをインスタンス化します。次に、CacheDependency オブジェクトがパラメータとして使用され、System.Web.Caching.Cache.Insert メソッドが呼び出されます。これによって、key1 キーに依存する Insert メソッドを使用してオブジェクトがキャッシュに追加されます。
Public Sub CreateDependency(sender As Object, e As EventArgs) ' Create a DateTime object. Dim dt as DateTime = DateTime.Now.AddSeconds(10) ' Create a cache entry. Cache("key1") = "Value 1" ' Make key2 dependent on key1. Dim dependencyKey(0) As String dependencyKey(0) = "key1" Dim dependency As new CacheDependency(Nothing, dependencyKey, dt) Cache.Insert("key2", "Value 2", dependency) DisplayValues() End Sub
public void CreateDependency(Object sender, EventArgs e) { // Create a DateTime object. DateTime dt = DateTime.Now.AddSeconds(10); // Create a cache entry. Cache["key1"] = "Value 1"; // Make key2 dependent on key1. String[] dependencyKey = new String[1]; dependencyKey[0] = "key1"; CacheDependency dependency = new CacheDependency(null, dependencyKey, dt); Cache.Insert("key2", "Value 2", dependency); DisplayValues(); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String[], String[], CacheDependency)
アセンブリ: System.Web (system.web.dll 内)

Public Sub New ( _ filenames As String(), _ cachekeys As String(), _ dependency As CacheDependency _ )
Dim filenames As String() Dim cachekeys As String() Dim dependency As CacheDependency Dim instance As New CacheDependency(filenames, cachekeys, dependency)
public CacheDependency ( string[] filenames, string[] cachekeys, CacheDependency dependency )
public: CacheDependency ( array<String^>^ filenames, array<String^>^ cachekeys, CacheDependency^ dependency )
public CacheDependency ( String[] filenames, String[] cachekeys, CacheDependency dependency )
public function CacheDependency ( filenames : String[], cachekeys : String[], dependency : CacheDependency )
- filenames
キャッシュされているオブジェクトが依存しているファイルまたはディレクトリへのパスの配列。これらのリソースのいずれかが変更されると、キャッシュされているオブジェクトは無効になり、キャッシュから削除されます。

また、filenames パラメータで指定したディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。

CreateDependency メソッドを作成するコード例を次に示します。このメソッドを呼び出すと、Cache.Item プロパティを使用して項目がキャッシュに追加されます。このとき、key パラメータには key1 が、値には Value 1 が使用されます。次に、文字列 dependencyKey の配列が値 key1 でも作成されます。パラメータ引数として dependencyKey に渡される CacheDependency オブジェクト (dep1) は、System.Web.Caching.CacheDependency コンストラクタを使用して作成されます。2 番目の CacheDependency オブジェクト (dep2) は、3 番目のパラメータ引数として dep1 が渡されるこのコンストラクタを使用して作成されます。この 2 番目の依存関係は、最初の依存関係に依存します。次に、2 番目の CacheDependency オブジェクトがパラメータとして使用され、System.Web.Caching.Cache.Insert メソッドが呼び出されます。1 番目の依存関係がいずれの形にせよ変更されると、キャッシュされている項目は無効になります。
Public Sub CreateDependency(sender As [Object], e As EventArgs) ' Create a cache entry. Cache("key1") = "Value 1" ' Make key2 dependent on key1 using double dependency. Dim dependencyKey(0) As [String] dependencyKey(0) = "key1" Dim dep1 As New CacheDependency(Nothing, dependencyKey) ' Make a second CacheDependency dependent on dep1. Dim dep2 As New CacheDependency(Nothing, Nothing, dep1) Cache.Insert("key2", "Value 2", dep2) DisplayValues() End Sub 'CreateDependency
public void CreateDependency(Object sender, EventArgs e) { // Create a cache entry. Cache["key1"] = "Value 1"; // Make key2 dependent on key1. String[] dependencyKey = new String[1]; dependencyKey[0] = "key1"; CacheDependency dep1 = new CacheDependency(null, dependencyKey); // Make a second CacheDependency dependent on dep1. CacheDependency dep2 = new CacheDependency(null, null, dep1); Cache.Insert("key2", "Value 2", dep2); DisplayValues(); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String[], String[])
アセンブリ: System.Web (system.web.dll 内)

Dim filenames As String() Dim cachekeys As String() Dim instance As New CacheDependency(filenames, cachekeys)

また、filenames パラメータで指定したディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。

アプリケーションの Cache に、キャッシュに格納されている別項目へのキーへ依存関係を持つ項目を挿入する方法を次のコード片で示します。このメソッドでは配列構文を使用するため、Cache に追加する項目が依存するキーの数を定義する必要があります。
Public Sub CreateDependency(sender As Object, e As EventArgs) ' Create a cache entry. Cache("key1") = "Value 1" ' Make key2 dependent on key1. Dim dependencyKey(0) As String dependencyKey(0) = "key1" Dim dependency As new CacheDependency(Nothing, dependencyKey) Cache.Insert("key2", "Value 2", dependency) DisplayValues() End Sub
public void CreateDependency(Object sender, EventArgs e) { // Create a cache entry. Cache["key1"] = "Value 1"; // Make key2 dependent on key1. String[] dependencyKey = new String[1]; dependencyKey[0] = "key1"; CacheDependency dependency = new CacheDependency(null, dependencyKey); Cache.Insert("key2", "Value 2", dependency); DisplayValues(); }
public function CreateDependency(sender : Object, e : EventArgs) { // Create a cache entry. Cache["key1"] = "Value 1"; // Make key2 dependent on key1. var dependencyKey : String[] = new String[1]; dependencyKey[0] = "key1"; var dependency : CacheDependency = new CacheDependency(String [](null), dependencyKey); Cache.Insert("key2", "Value 2", dependency); DisplayValues(); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String[], String[], CacheDependency, DateTime)
アセンブリ: System.Web (system.web.dll 内)

Public Sub New ( _ filenames As String(), _ cachekeys As String(), _ dependency As CacheDependency, _ start As DateTime _ )
Dim filenames As String() Dim cachekeys As String() Dim dependency As CacheDependency Dim start As DateTime Dim instance As New CacheDependency(filenames, cachekeys, dependency, start)
public CacheDependency ( string[] filenames, string[] cachekeys, CacheDependency dependency, DateTime start )
public: CacheDependency ( array<String^>^ filenames, array<String^>^ cachekeys, CacheDependency^ dependency, DateTime start )
public CacheDependency ( String[] filenames, String[] cachekeys, CacheDependency dependency, DateTime start )
public function CacheDependency ( filenames : String[], cachekeys : String[], dependency : CacheDependency, start : DateTime )
- filenames
キャッシュされているオブジェクトが依存しているファイルまたはディレクトリへのパスの配列。これらのリソースのいずれかが変更されると、キャッシュされているオブジェクトは無効になり、キャッシュから削除されます。

また、filenames パラメータで指定したディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。
![]() |
---|
変更の追跡がすぐに開始されます。この追跡は、start パラメータに直接基づくものではありません。start パラメータを使用して過去の日時を渡し、filenames、cachekeys、または dependency パラメータで渡されたオブジェクトの最終更新日時をこれと突き合わせて確認します。いずれかのオブジェクトの最終更新日時が start パラメータで渡された日時よりも後の場合、キャッシュされた項目は Cache から削除されます。 |

CreateDependency メソッドのコード例を次に示します。このメソッドを呼び出すと、DateTime オブジェクトが作成され、Cache.Item プロパティを使用して項目がキャッシュに追加されます。このとき、key パラメータには key1 が、値には Value 1 が使用されます。次に、文字列 (dependencyKey) の配列が作成されます。このとき、その最初で唯一のインデックスの値も key1 の値に設定されます。次に、パラメータ引数として dependencyKey に渡される CacheDependency オブジェクト (dep1) が、System.Web.Caching.CacheDependency コンストラクタを使用して作成されます。続いて、2 番目の CacheDependency オブジェクト (dep2) が、パラメータ引数として dep1 と DateTime オブジェクトが渡されるこのコンストラクタを使用して作成されます。この 2 番目の依存関係は、1 番目に依存し、依存関係の監視は CreateDependency メソッドが呼び出されてから 10 秒後に開始されます。次に、2 番目の CacheDependency オブジェクトがパラメータとして使用され、System.Web.Caching.Cache.Insert メソッドが呼び出されます。1 番目の依存関係がいずれの形にせよ変更されると、キャッシュされている項目は無効になります。
Public Sub CreateDependency(sender As [Object], e As EventArgs) ' Create a DateTime object. Dim dt as DateTime = DateTime.Now.AddSeconds(10) ' Create a cache entry. Cache("key1") = "Value 1" ' Make key2 dependent on key1 using double dependency. Dim dependencyKey(0) As [String] dependencyKey(0) = "key1" Dim dep1 As New CacheDependency(Nothing, dependencyKey) ' Make a second CacheDependency dependent on dep1 ' and use dt to start change monitoring. Dim dep2 As New CacheDependency(Nothing, Nothing, dep1, dt) Cache.Insert("key2", "Value 2", dep2) DisplayValues() End Sub 'CreateDependency
public void CreateDependency(Object sender, EventArgs e) { // Create a DateTime object. DateTime dt = DateTime.Now.AddSeconds(10); // Create a cache entry. Cache["key1"] = "Value 1"; // Make key2 dependent on key1. String[] dependencyKey = new String[1]; dependencyKey[0] = "key1"; CacheDependency dep1 = new CacheDependency(null, dependencyKey); // Make a second CacheDependency dependent on dep1. // and use dt to start change monitoring. CacheDependency dep2 = new CacheDependency(null, null, dep1, dt); Cache.Insert("key2", "Value 2", dep2); DisplayValues(); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String[], DateTime)
アセンブリ: System.Web (system.web.dll 内)

Dim filenames As String() Dim start As DateTime Dim instance As New CacheDependency(filenames, start)

filenames パラメータで指定したディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。
![]() |
---|
変更の追跡がすぐに開始されます。この追跡は、start パラメータに直接基づくものではありません。start パラメータを使用して過去の日時を渡し、filenames パラメータで渡された配列の最終更新日時をこれと突き合わせて確認します。配列内の任意のオブジェクトの最終更新日時が start パラメータで渡された日時よりも後の場合、キャッシュされた項目は Cache から削除されます。 |

System.Web.Caching.Cache.Insert メソッド呼び出しでパラメータ引数にオブジェクトが含められたときに、2 つの XML ファイルと DateTime.Now 値を渡す CacheDependency オブジェクトを作成するコード例を次に示します。
' Create a DateTime object that determines ' when dependency monitoring begins. Dim dt As DateTime = DateTime.Now ' Make key1 dependent on several files. Dim files(2) as String files(0) = Server.MapPath("isbn.xml") files(1) = Server.MapPath("customer.xml") Dim dependency as new CacheDependency(files, dt) Cache.Insert("key1", "Value 1", dependency) End If
// Create a DateTime object that determines // when dependency monitoring begins. DateTime dt = DateTime.Now; // Make key1 dependent on several files. String[] files = new String[2]; files[0] = Server.MapPath("isbn.xml"); files[1] = Server.MapPath("customer.xml"); CacheDependency dep = new CacheDependency(files, dt); Cache.Insert("key1", "Value 1", dep); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ (String, DateTime)
アセンブリ: System.Web (system.web.dll 内)


filename パラメータで指定されたディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。
![]() |
---|
変更の追跡がすぐに開始されます。この追跡は、start パラメータに直接基づくものではありません。start パラメータを使用して過去の日時を渡し、filename パラメータで渡されたディレクトリまたはファイルの最終更新日時をこれと突き合わせて確認します。最終更新日時が start パラメータで渡された日時よりも後の場合、キャッシュされた項目は Cache から削除されます。 |

このコンストラクタを使用して CacheDependency オブジェクトをインスタンス化し、この依存関係を持つ Cache に項目を挿入するコード例を次に示します。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."); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency コンストラクタ


CacheDependency コンストラクタ (String[])
アセンブリ: System.Web (system.web.dll 内)


配列内のファイルまたはディレクトリのいずれかが変更された場合、または配列から削除された場合、キャッシュされている項目は無効になり、アプリケーションの Cache オブジェクトから削除されます。
また、filenames パラメータで指定したディレクトリまたはファイルがファイル システム内に見つからない場合、それらは存在しないものと見なされます。依存関係を持つオブジェクトを Cache に追加するときに、指定されたディレクトリまたはファイルがない場合は、キャッシュされているオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。
たとえば、c:\stocks\xyz.dat というファイル パスへの依存関係を持つオブジェクトを Cache に追加するとします。CacheDependency オブジェクトが作成されるときに xyz.dat ファイルが見つからない場合でも、後でそのファイルが作成されるとキャッシュされたオブジェクトは削除されます。
![]() |
---|
ファイルの依存関係を格納する配列を作成する場合は、Cache に追加している項目が依存するファイルの数を定義する必要があります。 |

System.Web.Caching.Cache.Insert メソッドを使用して、ファイルの配列に依存する Cache に項目を追加するコード例を次に示します。項目をディレクトリの配列へ依存させることもできます。
' Make key1 dependent on several files. Dim files(2) as String files(0) = Server.MapPath("isbn.xml") files(1) = Server.MapPath("customer.xml") Dim dependency as new CacheDependency(files) Cache.Insert("key1", "Value 1", dependency) End If
// Make key1 dependent on several files. String[] files = new String[2]; files[0] = Server.MapPath("isbn.xml"); files[1] = Server.MapPath("customer.xml"); CacheDependency dependency = new CacheDependency(files); Cache.Insert("key1", "Value 1", dependency); }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


CacheDependency プロパティ
CacheDependency メソッド

名前 | 説明 | |
---|---|---|
![]() | Dispose | CacheDependency オブジェクトに使用されているリソースを解放します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | GetUniqueID | CacheDependency オブジェクトの一意の識別子を取得します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | DependencyDispose | CacheDependency クラス、および CacheDependency から派生したクラスが使用したリソースを解放します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | FinishInit | CacheDependency オブジェクトの初期化を完了します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | NotifyDependencyChanged | 派生クラス CacheDependency によって表される依存関係が変更されたことを、基本オブジェクトの CacheDependency に通知します。 |
![]() | SetUtcLastModified | 依存関係が最後に変更された時刻にマークを付けます。 |

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




名前 | 説明 | |
---|---|---|
![]() | Dispose | CacheDependency オブジェクトに使用されているリソースを解放します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | GetUniqueID | CacheDependency オブジェクトの一意の識別子を取得します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | DependencyDispose | CacheDependency クラス、および CacheDependency から派生したクラスが使用したリソースを解放します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | FinishInit | CacheDependency オブジェクトの初期化を完了します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | NotifyDependencyChanged | 派生クラス CacheDependency によって表される依存関係が変更されたことを、基本オブジェクトの CacheDependency に通知します。 |
![]() | SetUtcLastModified | 依存関係が最後に変更された時刻にマークを付けます。 |

- CacheDependencyのページへのリンク