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[], DateTime)

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

CacheDependency(String[], String[], CacheDependency)

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

CacheDependency(String[], String[], CacheDependency, DateTime)

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

CacheDependency()

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

protected:
 CacheDependency();
protected CacheDependency();
Protected Sub New ()

次のコード例は、CacheDependencyから派生するすべてのクラスが必要であるため、このバージョンのCacheDependency コンストラクターを実装するクラスです。

' Declare the class.
Public Class CustomCacheDependency 
   Inherits CacheDependency

     ' Constructor with no arguments 
     ' provided by CacheDependency class.
     Public Sub New()
     End Sub
   
     ' 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 コンストラクターを実装します。

こちらもご覧ください

適用対象

CacheDependency(String)

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

public:
 CacheDependency(System::String ^ filename);
public CacheDependency(string filename);
new System.Web.Caching.CacheDependency : string -> System.Web.Caching.CacheDependency
Public Sub New (filename As String)

パラメーター

filename
String

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

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

CacheDependency dep = new CacheDependency(Server.MapPath("isbn.xml"));
Cache.Insert("ISBNData", Source, dep);

Dim dep As New CacheDependency(Server.MapPath("isbn.xml"))
    Cache.Insert("ISBNData", Source, dep)

次の手法を使用して、ファイルへの依存関係を持つ項目を Cache に追加することもできます。

// 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.
    Dim dependency as new CacheDependency(Server.MapPath("isbn.xml"))

    Cache.Insert("key1", "Value 1", dependency)
End If

注釈

filename パラメーターで指定されたディレクトリまたはファイルがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

こちらもご覧ください

適用対象

CacheDependency(String[])

パスの配列 (ファイルまたはディレクトリ) の変更を監視する CacheDependency クラスの新しいインスタンスを初期化します。

public:
 CacheDependency(cli::array <System::String ^> ^ filenames);
public CacheDependency(string[] filenames);
new System.Web.Caching.CacheDependency : string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String())

パラメーター

filenames
String[]

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

次のコード例では、 Cache.Insert メソッドを使用して、ファイルの配列に依存する項目を Cache に追加する方法を示します。 また、項目をディレクトリの配列に依存させることもできます。

    // 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);
}
    ' 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

注釈

配列内のファイルまたはディレクトリのいずれかが変更された場合、または配列から削除された場合、キャッシュされた項目は古くなり、アプリケーションの Cache オブジェクトから削除されます。

また、 filenames パラメーターで指定されたディレクトリまたはファイルのいずれかがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、そのディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

Note

ファイルの依存関係を含む配列を作成するときは、 Cache に追加する項目が依存するファイルの数を定義する必要があります。

こちらもご覧ください

適用対象

CacheDependency(String, DateTime)

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

public:
 CacheDependency(System::String ^ filename, DateTime start);
public CacheDependency(string filename, DateTime start);
new System.Web.Caching.CacheDependency : string * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filename As String, start As DateTime)

パラメーター

filename
String

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

start
DateTime

ディレクトリまたはファイルの最終変更日を確認する時刻。

次のコード例では、このコンストラクターを使用して CacheDependency オブジェクトをインスタンス化し、その依存関係を持つ Cache に項目を挿入します。 dt パラメーターで渡されるstart値は、DateTime.Nowに設定されます。

// 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.
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 

注釈

filename パラメーターで指定されたディレクトリまたはファイルがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、ディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

Note

変更の追跡は直ちに開始され、 start パラメーターに直接基づくものではありません。 start パラメーターを使用して、filename パラメーターで渡されたディレクトリまたはファイルの最終変更日を確認する過去の日付と時刻を渡します。 最後に変更された日付が、 start パラメーターで渡された日付と時刻のセットより後の場合、キャッシュされた項目は Cacheから削除されます。

こちらもご覧ください

適用対象

CacheDependency(String[], DateTime)

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

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, DateTime start);
public CacheDependency(string[] filenames, DateTime start);
new System.Web.Caching.CacheDependency : string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), start As DateTime)

パラメーター

filenames
String[]

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

start
DateTime

配列内のオブジェクトの最終変更日を確認する時刻。

次のコード例では、CacheDependency メソッド呼び出しにパラメーター引数としてオブジェクトが含まれている場合に、2 つの XML ファイルとDateTime.Now値を渡すCache.Insert オブジェクトを作成します。

// 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);
}
    ' 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

注釈

filenames パラメーターで指定されたディレクトリまたはファイルのいずれかがファイル システムで見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、そのディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

Note

変更の追跡は直ちに開始され、 start パラメーターに直接基づくものではありません。 start パラメーターを使用して、filenames パラメーターで渡された配列の最終変更日を確認する過去の日付と時刻を渡します。 配列内のオブジェクトの最終変更日が、 start パラメーターに渡された日付と時刻のセットより後の場合、キャッシュされた項目は Cacheから削除されます。

こちらもご覧ください

適用対象

CacheDependency(String[], String[])

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

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys);
public CacheDependency(string[] filenames, string[] cachekeys);
new System.Web.Caching.CacheDependency : string[] * string[] -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String())

パラメーター

filenames
String[]

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

cachekeys
String[]

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

次のコード フラグメントは、キャッシュに配置された別の項目へのキーに依存して、アプリケーションの Cache に項目を挿入する方法を示しています。 このメソッドは配列構文を使用するため、 Cache に追加する項目が依存するキーの数を定義する必要があります。

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 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

注釈

また、 filenames パラメーターで指定されたディレクトリまたはファイルのいずれかがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、そのディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

ただし、 cachekeys の依存関係は同じようには機能しません。 挿入時に cachekeys パラメーターに少なくとも 1 つの値が存在しない場合、挿入は失敗します。 このシナリオでは例外がスローされない点に注意してください。

こちらもご覧ください

適用対象

CacheDependency(String[], String[], DateTime)

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

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, DateTime start);
public CacheDependency(string[] filenames, string[] cachekeys, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), start As DateTime)

パラメーター

filenames
String[]

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

cachekeys
String[]

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

start
DateTime

filenamesおよびcachekeys配列で渡されたオブジェクトの最終変更日を確認する日付と時刻。

次のコード例では、 CreateDependency メソッドを作成します。 このメソッドを呼び出すと、DateTime オブジェクトが作成され、Cache.Item[] プロパティを使用して、keykey1 パラメーターと値がValue 1の項目をキャッシュに追加します。 その後、 dependencyKey文字列の配列も key1 の値で作成されます。 このCacheDependencyコンストラクターは、パラメーター引数としてCacheDependencydependencyKey オブジェクトを渡すDateTime オブジェクトをインスタンス化します。 Cache.Insert メソッドは、CacheDependency オブジェクトをパラメーターとして使用して、次に呼び出されます。 これにより、Insert キーに依存する key1 メソッドを使用して、オブジェクトがキャッシュに追加されます。

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();
}
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

注釈

また、 filenames パラメーターで指定されたディレクトリまたはファイルのいずれかがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、そのディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

ただし、 cachekeys の依存関係は同じようには機能しません。 挿入時に cachekeys パラメーターに少なくとも 1 つの値が存在しない場合、挿入は失敗します。 このシナリオでは例外がスローされない点に注意してください。

Note

変更の追跡は直ちに開始され、 start パラメーターに直接基づくものではありません。 start パラメーターを使用して、filenamesまたはcachekeysパラメーターで渡されたオブジェクトの最終変更日を確認する過去の日付と時刻を渡します。 これらのオブジェクトの最終変更日が、 start パラメーターに渡された日付と時刻のセットより後の場合、キャッシュされた項目は Cacheから削除されます。

こちらもご覧ください

適用対象

CacheDependency(String[], String[], CacheDependency)

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

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency);
public CacheDependency(string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency)

パラメーター

filenames
String[]

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

cachekeys
String[]

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

dependency
CacheDependency

このインスタンスが依存している CacheDependency クラスの別のインスタンス。

次のコード例では、 CreateDependency メソッドを作成します。 このメソッドが呼び出されると、Cache.Item[] プロパティを使用して、keykey1 パラメーターと値がValue 1の項目をキャッシュに追加します。 その後、 dependencyKey文字列の配列も key1 の値で作成されます。 CacheDependency.CacheDependency コンストラクターは、パラメーター引数としてCacheDependencyを渡すdep1 オブジェクト (dependencyKey) を作成するために使用されます。 2 つ目の CacheDependency オブジェクト ( dep2) は、このコンストラクターを使用して作成され、 dep1 は 3 番目のパラメーター引数として渡されます。 この 2 番目の依存関係は、最初の依存関係に依存します。 Cache.Insert メソッドは、2 番目の CacheDependency オブジェクトをパラメーターとして使用して、次に呼び出されます。 最初の依存関係が何らかの方法で変更された場合、キャッシュされた項目は無効になります。

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();
}
 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

注釈

また、 filenames パラメーターで指定されたディレクトリまたはファイルのいずれかがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、そのディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

ただし、 cachekeys の依存関係は同じようには機能しません。 挿入時に cachekeys パラメーターに少なくとも 1 つの値が存在しない場合、挿入は失敗します。 このシナリオでは例外がスローされない点に注意してください。

適用対象

CacheDependency(String[], String[], CacheDependency, DateTime)

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

public:
 CacheDependency(cli::array <System::String ^> ^ filenames, cli::array <System::String ^> ^ cachekeys, System::Web::Caching::CacheDependency ^ dependency, DateTime start);
public CacheDependency(string[] filenames, string[] cachekeys, System.Web.Caching.CacheDependency dependency, DateTime start);
new System.Web.Caching.CacheDependency : string[] * string[] * System.Web.Caching.CacheDependency * DateTime -> System.Web.Caching.CacheDependency
Public Sub New (filenames As String(), cachekeys As String(), dependency As CacheDependency, start As DateTime)

パラメーター

filenames
String[]

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

cachekeys
String[]

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

dependency
CacheDependency

このインスタンスが依存している CacheDependency クラスの別のインスタンス。

start
DateTime

配列内のオブジェクトと CacheDependency オブジェクトの最終変更日を確認する時刻。

次のコード例は、 CreateDependency メソッドを示しています。 このメソッドを呼び出すと、 DateTime オブジェクトが作成され、 Cache.Item[] プロパティを使用して、 key1 のキー パラメーターと値が Value 1の項目をキャッシュに追加します。 文字列の配列 dependencyKey、最初の (および唯一の) インデックスの値を key1 の値に設定して作成されます。 その後、CacheDependency.CacheDependency コンストラクターを使用して、パラメーター引数としてCacheDependencyを渡すdep1 オブジェクト (dependencyKey) を作成します。 2 つ目の CacheDependency オブジェクト ( dep2) は、このコンストラクターを使用して作成され、 dep1DateTime オブジェクトがパラメーター引数として渡されます。 この 2 番目の依存関係は 1 番目の依存関係に依存し、 CreateDependency メソッドが呼び出されてから 10 秒後に依存関係の監視が開始されます。 Cache.Insert メソッドは、2 番目の CacheDependency オブジェクトをパラメーターとして使用して、次に呼び出されます。 最初の依存関係が何らかの方法で変更された場合、キャッシュされた項目は無効になります。

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();
}
 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

注釈

また、 filenames パラメーターで指定されたディレクトリまたはファイルのいずれかがファイル システムに見つからない場合は、見つからないと見なされます。 依存関係を持つオブジェクトが Cacheに追加されたときにディレクトリまたはファイルが見つからない場合、キャッシュされたオブジェクトは、そのディレクトリまたはファイルの作成時に Cache から削除されます。

たとえば、次のファイル パスに依存するオブジェクトを Cache に追加するとします: c:\stocks\xyz.dat。 CacheDependency オブジェクトの作成時にそのファイルが見つからないが、後で作成された場合、キャッシュされたオブジェクトはxyz.dat ファイルの作成時に削除されます。

ただし、 cachekeys の依存関係は同じようには機能しません。 挿入時に cachekeys パラメーターに少なくとも 1 つの値が存在しない場合、挿入は失敗します。 このシナリオでは例外がスローされない点に注意してください。

Note

変更の追跡は直ちに開始され、 start パラメーターに直接基づくものではありません。 start パラメーターを使用して、filenamescachekeys、またはdependencyパラメーターで渡されたオブジェクトの最終変更日を確認する過去の日付と時刻を渡します。 これらのオブジェクトの最終変更日が、 start パラメーターに渡された日時より後の場合、キャッシュされた項目は Cacheから削除されます。

こちらもご覧ください

適用対象