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 日期和时间。 如果上次修改的日期晚于参数中传递的
另请参阅
适用于
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作为参数参数包含时传递两个 DateTime.Now XML 文件和一个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 日期和时间。 如果数组中任何对象的上次修改日期晚于参数中
另请参阅
适用于
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 方法。 调用此方法时,它将创建一个 dependencyKey创建字符串key1数组。 然后,此CacheDependency构造函数实例化传递CacheDependencydependencyKey的对象,并将DateTime该对象作为参数参数传递。 接下来,使用Cache.InsertCacheDependency对象作为参数调用该方法。 这使得使用 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 参数的日期和时间。 如果上述任一对象的上次修改日期晚于参数中传递的
另请参阅
适用于
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 。 然后,使用此构造函数创建第二CacheDependency个对象dep2,并将dep1DateTime该对象作为参数参数传递。 第二个依赖项依赖于第一个依赖项,调用该方法后 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使用参数传递过去要检查传入的任何对象的filenamescachekeys上次修改日期或dependency参数的日期和时间。 如果其中任一对象的上次修改日期晚于参数中