CacheItemPolicy 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示指定缓存项的一组逐出和过期详细信息。
public ref class CacheItemPolicy
public class CacheItemPolicy
type CacheItemPolicy = class
Public Class CacheItemPolicy
- 继承
-
CacheItemPolicy
示例
以下示例演示如何创建监视文本文件路径的内存中缓存项。 缓存创建 一个 CacheItemPolicy 对象, AbsoluteExpiration 并将 属性设置为在 60 秒后逐出缓存。
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim cache As ObjectCache = MemoryCache.Default
Dim fileContents As String = TryCast(cache("filecontents"), _
String)
If fileContents Is Nothing Then
Dim policy As New CacheItemPolicy()
policy.AbsoluteExpiration = _
DateTimeOffset.Now.AddSeconds(60.0)
Dim filePaths As New List(Of String)()
Dim cachedFilePath As String = Server.MapPath("~") & _
"\cacheText.txt"
filePaths.Add(cachedFilePath)
policy.ChangeMonitors.Add(New _
HostFileChangeMonitor(filePaths))
' Fetch the file contents.
fileContents = File.ReadAllText(cachedFilePath)
cache.Set("filecontents", fileContents, policy)
End If
Label1.Text = fileContents
End Sub
protected void Button1_Click(object sender, EventArgs e)
{
ObjectCache cache = MemoryCache.Default;
string fileContents = cache["filecontents"] as string;
if (fileContents == null)
{
CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration =
DateTimeOffset.Now.AddSeconds(60.0);
List<string> filePaths = new List<string>();
string cachedFilePath = Server.MapPath("~") +
"\\cacheText.txt";
filePaths.Add(cachedFilePath);
policy.ChangeMonitors.Add(new
HostFileChangeMonitor(filePaths));
// Fetch the file contents.
fileContents = File.ReadAllText(cachedFilePath);
cache.Set("filecontents", fileContents, policy);
}
Label1.Text = fileContents;
}
注解
CacheItemPolicy实例包含可与缓存项关联的信息。 例如,当缓存项即将从缓存中删除时, CacheEntryUpdateArguments 会将 对象传递给回调方法。 对象的 UpdatedCacheItemPolicy 属性 CacheEntryUpdateArguments 可以传递对 CacheItemPolicy 实例的引用,该实例可以包含有关缓存条目的逐出和过期详细信息。
和 ObjectCache 类中的MemoryCache某些CacheItemPolicy方法接受 实例来描述逐出或过期策略。
继承者说明
该 CacheItemPolicy 类型已解封,以便自定义缓存开发人员可以扩展它。
构造函数
CacheItemPolicy() |
初始化 CacheItemPolicy 类的新实例。 |
属性
AbsoluteExpiration |
获取或设置一个值,该值指示是否应在指定的时间点逐出缓存项。 |
ChangeMonitors |
获取与某个缓存项关联的 ChangeMonitor 对象的集合。 |
Priority |
获取或设置用于确定是否逐出某个缓存项的优先级别设置。 |
RemovedCallback |
获取或设置对 CacheEntryRemovedCallback 委托的引用,在从缓存中移除某个项后将调用该委托。 |
SlidingExpiration |
获取或设置一个值,该值指示如果某个缓存项在给定时段内未被访问,是否应被逐出。 |
UpdateCallback |
获取或设置对 CacheEntryUpdateCallback 委托的引用,在从缓存中移除某个缓存项之前将调用该委托。 |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |