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.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

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

示例

下面的代码示例创建一个 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[] 属性将参数为 且值为 的项添加到缓存keykey1Value 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 参数中filenamescachekeys传递的任何对象的上次修改日期的日期和时间。 如果其中任何对象的上次修改日期晚于 参数中 start 传递的日期和时间,则会从 Cache中删除缓存项。

另请参阅

适用于