CacheDependency 构造函数

定义

初始化 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.NowCache.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

检查在 filenamescachekeys 数组中传递的对象的上次修改日期所依据的日期和时间。

示例

下面的代码示例创建一个 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,并将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使用参数传递过去要检查传入的任何对象的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.

另请参阅

适用于