CacheDependency 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在存储于 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 实例,指定项所依赖的文件、键或目录,然后将依赖项传递给 Add 或 Cache.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) |