CacheDependency コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
パラメーターで渡される値は 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 ファイルの作成時に削除されます。
注意
変更の追跡はすぐに開始され、 パラメーターに直接基づく 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.CacheDependency、 dep1
をパラメーター引数として渡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
このコンストラクターを使用して作成されDateTime、 dep1
オブジェクトは パラメーター引数として渡されます。 この 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
パラメーターで渡されたオブジェクトの最終変更日を確認する過去の日付と時刻をfilenames
cachekeys
渡します。 これらのオブジェクトの最終変更日が パラメーターに start
渡された日付と時刻より後の場合、キャッシュされた項目は から Cache削除されます。
こちらもご覧ください
適用対象
.NET