CacheDependencyとは? わかりやすく解説

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.");
} 
継承階層継承階層
System.Object
  System.Web.Caching.CacheDependency
     System.Web.Caching.AggregateCacheDependency
     System.Web.Caching.SqlCacheDependency
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

CacheDependency コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

CacheDependency クラスの新しいインスタンスを初期化します。

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

Dim instance As New CacheDependency
protected CacheDependency ()
protected:
CacheDependency ()
protected CacheDependency ()
protected function CacheDependency ()
解説解説

独自のクラスを CacheDependency から派生させる場合は、このバージョンの CacheDependency コンストラクタを実装します。

使用例使用例

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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間

CacheDependency コンストラクタ (String)

ファイルまたはディレクトリが変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。

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

解説解説
使用例使用例

XML ファイルに依存する CacheDependency クラスのインスタンスを作成するコード例を次に示します。次に System.Web.Caching.Cache.Insert メソッドが、ファイルに依存する Cache に項目を追加します。

Dim dep As New CacheDependency(Server.MapPath("isbn.xml"))
    Cache.Insert("ISBNData", Source, dep)
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);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

CacheDependency コンストラクタ (String[], String[], DateTime)

ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    filenames As String(), _
    cachekeys As String(), _
    start As DateTime _
)
Dim filenames As String()
Dim cachekeys As String()
Dim start As DateTime

Dim instance As New CacheDependency(filenames,
 cachekeys, start)
public CacheDependency (
    string[] filenames,
    string[] cachekeys,
    DateTime start
)
public:
CacheDependency (
    array<String^>^ filenames, 
    array<String^>^ cachekeys, 
    DateTime start
)
public CacheDependency (
    String[] filenames, 
    String[] cachekeys, 
    DateTime start
)
public function CacheDependency (
    filenames : String[], 
    cachekeys : String[], 
    start : DateTime
)

パラメータ

filenames

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

cachekeys

新しいオブジェクトが変更されているかどうかを監視する対象のキャッシュ キーの配列。これらのキャッシュ キーのいずれかが変更されると、この依存関係オブジェクトに関連付けられているキャッシュされたオブジェクトは無効になり、キャッシュから削除されます。

start

filenames 配列および cachekeys 配列に渡されたオブジェクトの最終更新日時を突き合わせて確認する日時。

解説解説
使用例使用例

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();
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間

CacheDependency コンストラクタ (String[], String[], CacheDependency)

ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。また、そのインスタンス自体を CacheDependency クラスの個別のインスタンスに依存させます。

名前空間: System.Web.Caching
アセンブリ: 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

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

cachekeys

新しいオブジェクトが変更されているかどうかを監視する対象のキャッシュ キーの配列。これらのキャッシュ キーのいずれかが変更されると、この依存関係オブジェクトに関連付けられているキャッシュされたオブジェクトは無効になり、キャッシュから削除されます。

dependency

このインスタンスが依存する CacheDependency クラスの別のインスタンス。

解説解説
使用例使用例

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();
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間

CacheDependency コンストラクタ (String[], String[])

ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    filenames As String(), _
    cachekeys As String() _
)
Dim filenames As String()
Dim cachekeys As String()

Dim instance As New CacheDependency(filenames,
 cachekeys)
public CacheDependency (
    string[] filenames,
    string[] cachekeys
)
public:
CacheDependency (
    array<String^>^ filenames, 
    array<String^>^ cachekeys
)
public CacheDependency (
    String[] filenames, 
    String[] cachekeys
)
public function CacheDependency (
    filenames : String[], 
    cachekeys : String[]
)

パラメータ

filenames

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

cachekeys

新しいオブジェクトが変更されているかどうかを監視する対象のキャッシュ キーの配列。これらのキャッシュ キーのいずれかが変更されると、この依存関係オブジェクトに関連付けられているキャッシュされたオブジェクトは無効になり、キャッシュから削除されます。

解説解説
使用例使用例

アプリケーションの 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();
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

CacheDependency コンストラクタ (String[], String[], CacheDependency, DateTime)

ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。また、そのインスタンス自体を CacheDependency クラスの別のインスタンスと変更の監視が開始される時刻に依存させます。

名前空間: System.Web.Caching
アセンブリ: 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

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

cachekeys

新しいオブジェクトが変更されているかどうかを監視する対象のキャッシュ キーの配列。これらのキャッシュ キーのいずれかが変更されると、この依存関係オブジェクトに関連付けられているキャッシュされたオブジェクトは無効になり、キャッシュから削除されます。

dependency

このインスタンスが依存する CacheDependency クラスの別のインスタンス。

start

配列内のオブジェクトおよび CacheDependency オブジェクトの最終更新日時を突き合わせて確認する日時。

解説解説
使用例使用例

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();
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間

CacheDependency コンストラクタ (String[], DateTime)

ファイルまたはディレクトリへのパスの配列が変更されたかどうかを監視し、その変更の監視を開始する時刻を指定する、CacheDependency クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    filenames As String(), _
    start As DateTime _
)
Dim filenames As String()
Dim start As DateTime

Dim instance As New CacheDependency(filenames,
 start)
public CacheDependency (
    string[] filenames,
    DateTime start
)
public:
CacheDependency (
    array<String^>^ filenames, 
    DateTime start
)
public CacheDependency (
    String[] filenames, 
    DateTime start
)
public function CacheDependency (
    filenames : String[], 
    start : DateTime
)

パラメータ

filenames

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

start

配列内のオブジェクトの最終更新日時を突き合わせて確認する日時。

解説解説
使用例使用例

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);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

CacheDependency コンストラクタ (String, DateTime)

ファイルまたはディレクトリが変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。

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

解説解説
使用例使用例

このコンストラクタを使用して 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.");
} 
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間

CacheDependency コンストラクタ

CacheDependency クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
CacheDependency () CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String) ファイルまたはディレクトリが変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String[]) ファイルまたはディレクトリへのパスの配列が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String, DateTime) ファイルまたはディレクトリが変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String[], DateTime) ファイルまたはディレクトリへのパスの配列が変更されたかどうかを監視し、その変更の監視を開始する時刻を指定する、CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String[], String[]) ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String[], String[], CacheDependency) ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。また、そのインスタンス自体を CacheDependency クラスの個別のインスタンスに依存させます。
CacheDependency (String[], String[], DateTime) ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。
CacheDependency (String[], String[], CacheDependency, DateTime) ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。また、そのインスタンス自体を CacheDependency クラスの別のインスタンスと変更の監視が開始される時刻に依存させます。
参照参照

関連項目

CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間

CacheDependency コンストラクタ (String[])

ファイルまたはディレクトリへのパスの配列が変更されたかどうかを監視する、CacheDependency クラスの新しいインスタンスを初期化します。

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

Public Sub New ( _
    filenames As String() _
)
Dim filenames As String()

Dim instance As New CacheDependency(filenames)
public CacheDependency (
    string[] filenames
)
public:
CacheDependency (
    array<String^>^ filenames
)
public CacheDependency (
    String[] filenames
)
public function CacheDependency (
    filenames : String[]
)

パラメータ

filenames

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

解説解説
使用例使用例

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);
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

CacheDependency プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ HasChanged CacheDependency オブジェクトが変更されたかどうかを示す値を取得します。
パブリック プロパティ UtcLastModified 依存関係が最後に変更された時刻を取得します。
参照参照

関連項目

CacheDependency クラス
System.Web.Caching 名前空間
Cache クラス
Insert

その他の技術情報

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

CacheDependency メソッド


パブリック メソッドパブリック メソッド

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

関連項目

CacheDependency クラス
System.Web.Caching 名前空間
Cache クラス
Insert

その他の技術情報

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

CacheDependency メンバ

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

CacheDependency データ型で公開されるメンバを以下の表に示します。


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

関連項目

CacheDependency クラス
System.Web.Caching 名前空間
Cache クラス
Insert

その他の技術情報

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



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「CacheDependency」の関連用語

CacheDependencyのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CacheDependencyのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS