Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
CacheItemPolicy Class
Definition
- Namespace:
- System.Runtime.Caching
- Assembly:
- System.Runtime.Caching.dll
- Package:
- System.Runtime.Caching v11.0.0-preview.5.26302.115
- Source:
- CacheItemPolicy.cs
- Source:
- CacheItemPolicy.cs
- Source:
- CacheItemPolicy.cs
- Source:
- CacheItemPolicy.cs
Important
Some information relates to prerelease product that may be substantially modified before itβs released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a set of eviction and expiration details for a specific cache entry.
public ref class CacheItemPolicy
public class CacheItemPolicy
type CacheItemPolicy = class
Public Class CacheItemPolicy
- Inheritance
-
CacheItemPolicy
Examples
The following example shows how to create an in-memory cache item that monitors the path for a text file. The cache creates a CacheItemPolicy object and sets the AbsoluteExpiration property to evict the cache after 60 seconds.
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;
}
Remarks
A CacheItemPolicy instance contains information that can be associated with a cache entry. For example, when a cache entry is about to be removed from the cache, a CacheEntryUpdateArguments object is passed to a callback method. The UpdatedCacheItemPolicy property of the CacheEntryUpdateArguments object can pass a reference to a CacheItemPolicy instance that can include eviction and expiration details about the cache entry.
Some methods in the MemoryCache and ObjectCache classes accept a CacheItemPolicy instance to describe eviction or expiration policy.
Notes to Inheritors
The CacheItemPolicy type is unsealed so that custom cache developers can extend it.
Constructors
| Name | Description |
|---|---|
| CacheItemPolicy() |
Initializes a new instance of the CacheItemPolicy class. |
Properties
| Name | Description |
|---|---|
| AbsoluteExpiration |
Gets or sets a value that indicates whether a cache entry should be evicted at a specified point in time. |
| ChangeMonitors |
Gets a collection of ChangeMonitor objects that are associated with a cache entry. |
| Priority |
Gets or sets a priority setting that is used to determine whether to evict a cache entry. |
| RemovedCallback |
Gets or sets a reference to a CacheEntryRemovedCallback delegate that is called after an entry is removed from the cache. |
| SlidingExpiration |
Gets or sets a value that indicates whether a cache entry should be evicted if it has not been accessed in a given span of time. |
| UpdateCallback |
Gets or sets a reference to a CacheEntryUpdateCallback delegate that is called before a cache entry is removed from the cache. |
Methods
| Name | Description |
|---|---|
| Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
| GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
| GetType() |
Gets the Type of the current instance. (Inherited from Object) |
| MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
| ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Applies to
Feedback
Was this page helpful?
