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 对象,当对象作为参数参数包含在方法调用中时,该对象将传递两个 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
至少有一个值不存在,则插入失败。 请注意,此方案不会引发异常。
另请参阅
适用于
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[] 并使用 属性将一个 key
参数 key1
为 且值为 的 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
至少有一个值不存在,则插入失败。 请注意,此方案不会引发异常。
注意
更改跟踪会立即开始,并且不直接基于 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[] 属性将参数为 且值为 的项添加到缓存key
key1
中Value 1
。 然后, dependencyKey
使用 的值 key1
创建字符串 数组。 构造 CacheDependency.CacheDependency 函数用于创建 CacheDependency 对象 , dep1
该对象作为参数参数传递 dependencyKey
。 使用此构造函数创建第二 CacheDependency 个对象 dep2
,并 dep1
作为第三个参数参数传递。 第二个依赖项依赖于第一个依赖项。 接下来 Cache.Insert 调用 方法,使用第二 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
至少有一个值不存在,则插入失败。 请注意,此方案不会引发异常。
适用于
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
。 然后,dep2
使用此构造函数创建第二CacheDependency个对象,其中包含 dep1
作为参数参数传递的 和 DateTime 对象。 第二个依赖项依赖于第一个依赖项,依赖项监视将在调用 方法后 CreateDependency
10 秒开始。 接下来 Cache.Insert 调用 方法,使用第二 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
至少有一个值不存在,则插入失败。 请注意,此方案不会引发异常。
注意
更改跟踪会立即开始,并且不直接基于 start
参数。
start
使用 参数传递过去要检查 、 或 dependency
参数中filenames
cachekeys
传递的任何对象的上次修改日期的日期和时间。 如果其中任何对象的上次修改日期晚于 参数中 start
传递的日期和时间,则会从 Cache中删除缓存项。