次の方法で共有


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 ファイルの作成時に削除されます。

注意

ファイルの依存関係を含む配列を作成するときは、追加する項目が依存するファイルの数を定義する 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パラメーターで渡される値は startDateTime.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 ファイルの作成時に削除されます。

注意

変更の追跡はすぐに開始され、 パラメーターに直接基づく 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 ファイルの作成時に削除されます。

注意

変更の追跡はすぐに開始され、 パラメーターに直接基づく 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[]使用して、 のパラメーターkey1と 値Value 1を使用keyしてキャッシュに項目が追加されます。 その後、 dependencyKeyの値 key1 を使用して、文字列 の配列も作成されます。 次に、この CacheDependency コンストラクターは、 CacheDependency を渡 dependencyKey す オブジェクトと、 オブジェクトを 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 つの値が存在しない場合、挿入は失敗します。 このシナリオでは例外がスローされていないことに注意してください。

注意

変更の追跡はすぐに開始され、 パラメーターに直接基づく start わけではありません。 パラメーターをstart使用して、 パラメーターまたは cachekeys パラメーターで渡されたオブジェクトの最終変更日を確認する過去の日付と時刻をfilenames渡します。 これらのオブジェクトの最後の変更日が、 パラメーターに 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[]使用して、 のパラメーターkey1と 値Value 1を持つkey項目がキャッシュに追加されます。 その後、 dependencyKeyの値 key1 を使用して、文字列 の配列も作成されます。 コンストラクターはCacheDependency.CacheDependencydep1をパラメーター引数として渡dependencyKeyす オブジェクト を作成CacheDependencyするために使用されます。 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その後、コンストラクターを使用して、dep1パラメーター引数として を渡dependencyKeyす オブジェクト を作成CacheDependencyします。 2 つ目CacheDependencyの オブジェクト である は、dep2このコンストラクターを使用して作成されDateTimedep1 オブジェクトは パラメーター引数として渡されます。 この 2 番目の依存関係は 1 つ目に依存し、依存関係の監視はメソッドが呼び出されてから 10 秒後に CreateDependency 開始されます。 メソッドは 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 つの値が存在しない場合、挿入は失敗します。 このシナリオでは例外がスローされていないことに注意してください。

注意

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

こちらもご覧ください

適用対象