CacheDependency 类

定义

在存储于 ASP.NET 应用程序的 Cache 对象中的项与文件、缓存键、文件或缓存键的数组,或另一个 CacheDependency 对象之间建立依赖关系。 CacheDependency 类监视依赖关系,以便在任何这些对象发生更改时,自动删除缓存的项。

public ref class CacheDependency sealed : IDisposable
public ref class CacheDependency : IDisposable
public sealed class CacheDependency : IDisposable
public class CacheDependency : IDisposable
type CacheDependency = class
    interface IDisposable
Public NotInheritable Class CacheDependency
Implements IDisposable
Public Class CacheDependency
Implements IDisposable
继承
CacheDependency
派生
实现

示例

下面的代码示例演示如何使用 HasChanged 属性来确定 自 中Cache对 项的上一个请求以来是否CacheDependency发生了更改。 在 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 

注解

如果将依赖于另一个对象的项(如文件或文件数组)添加到缓存中,则当对象更改时,将自动从缓存中删除依赖项。 例如,假设基于 XML 文件中的数据创建 DataSet 对象。 可以使用 使 依赖于 XML 文件的对象DataSet将 添加到DataSet缓存CacheDependency中。 如果 XML 文件发生更改, DataSet 则会从缓存中删除 。

可以使用 和 Cache.Insert 方法将具有依赖项的项添加到应用程序的缓存Add中。 不能使用 Item[] 属性将项添加到具有依赖项的缓存。

若要设置依赖项,请创建 类的 CacheDependency 实例,指定项所依赖的文件、键或目录,然后将依赖项传递给 AddCache.Insert 方法。 实例 CacheDependency 可以表示单个文件或目录、文件或目录数组、文件或目录数组以及缓存键数组, (这些键表示存储在 Cache 对象) 中的其他项。

构造函数

CacheDependency()

初始化 CacheDependency 类的新实例。

CacheDependency(String)

初始化 CacheDependency 类的新实例,它监视文件或目录的更改情况。

CacheDependency(String, DateTime)

初始化 CacheDependency 类的新实例,它监视文件或目录的更改情况。

CacheDependency(String[])

初始化 CacheDependency 类的新实例,它监视一组(到文件或目录的)路径的更改情况。

CacheDependency(String[], DateTime)

初始化 CacheDependency 类的新实例,它监视一组(到文件或目录的)路径的更改情况并指定更改监视开始的时间。

CacheDependency(String[], String[])

初始化 CacheDependency 类的新实例,它监视一组(到文件或目录的)路径、缓存键的更改情况或同时监视二者的更改情况。

CacheDependency(String[], String[], CacheDependency)

初始化 CacheDependency 类的新实例,它监视一组(到文件或目录的)路径、缓存键的更改情况或同时监视二者的更改情况。 它还使自己依赖于 CacheDependency 类的一个单独的实例。

CacheDependency(String[], String[], CacheDependency, DateTime)

初始化 CacheDependency 类的新实例,它监视一组(到文件或目录的)路径、缓存键的更改情况或同时监视二者的更改情况。 它还使自己依赖于 CacheDependency 类的另一个实例以及更改监视开始的时间。

CacheDependency(String[], String[], DateTime)

初始化 CacheDependency 类的新实例,它监视一组(到文件或目录的)路径、缓存键的更改情况或同时监视二者的更改情况。

属性

HasChanged

获取一个值,该值指示 CacheDependency 对象是否已更改。

UtcLastModified

获取依赖项的上次更改时间。

方法

DependencyDispose()

释放由 CacheDependency 类和从 CacheDependency 派生的所有类使用的资源。

Dispose()

释放由 CacheDependency 对象使用的资源。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
FinishInit()

完成 CacheDependency 对象的初始化。

GetFileDependencies()

获取文件依赖项。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
GetUniqueID()

检索 CacheDependency 对象的唯一标识符。

ItemRemoved()

删除监视的缓存项时调用。

KeepDependenciesAlive()

更新依赖于此项的每个缓存项的上次访问时间。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
NotifyDependencyChanged(Object, EventArgs)

通知 CacheDependency 基对象由派生的 CacheDependency 类表示的依赖项已更改。

SetCacheDependencyChanged(Action<Object,EventArgs>)

添加 Action 方法,处理通知感兴趣的参与方有关此依赖项的更改。

SetUtcLastModified(DateTime)

标记依赖项的上次更改时间。

TakeOwnership()

允许第一个用户声明对此依赖项的独占拥有权。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅