ファイルまたはディレクトリへのパスの配列、キャッシュ キーの配列、またはその両方が変更されたかどうかを監視する、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 オブジェクトの最終更新日時を突き合わせて確認する日時。
解説
また、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 Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition
Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。
バージョン情報
.NET Framework
サポート対象 : 3.0,2.0,1.1,1.0
参照
関連項目
CacheDependency クラス
CacheDependency メンバ
System.Web.Caching 名前空間
Cache
Insert