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
。 然后,使用值key1
创建字符串dependencyKey
数组。 然后,此CacheDependency构造函数实例化传递CacheDependency的对象,并将DateTime该对象dependencyKey
作为参数参数。 接下来,CacheDependency使用Cache.Insert对象作为参数调用该方法。 这使对象使用 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
参数传递过去要对其检查传入 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[] 属性将项添加到缓存,其中包含 key
参数 key1
和值 Value 1
。 然后,使用值key1
创建字符串dependencyKey
数组。 构造 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
。 然后使用此构造函数创建第二CacheDependency个对象dep2
,并将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
使用参数传递过去要检查传入的任何对象的filenames``cachekeys
上次修改日期或dependency
参数的日期和时间。 If the last modified date for any of those objects is later than the date and time passed in the start
parameter, the cached item is removed from the Cache.