CacheItemPolicy CacheItemPolicy CacheItemPolicy CacheItemPolicy Class

Definition

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
CacheItemPolicyCacheItemPolicyCacheItemPolicyCacheItemPolicy

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

CacheItemPolicy() CacheItemPolicy() CacheItemPolicy() CacheItemPolicy()

Initializes a new instance of the CacheItemPolicy class.

Properties

AbsoluteExpiration AbsoluteExpiration AbsoluteExpiration AbsoluteExpiration

Gets or sets a value that indicates whether a cache entry should be evicted at a specified point in time.

ChangeMonitors ChangeMonitors ChangeMonitors ChangeMonitors

Gets a collection of ChangeMonitor objects that are associated with a cache entry.

Priority Priority Priority Priority

Gets or sets a priority setting that is used to determine whether to evict a cache entry.

RemovedCallback RemovedCallback RemovedCallback RemovedCallback

Gets or sets a reference to a CacheEntryRemovedCallback delegate that is called after an entry is removed from the cache.

SlidingExpiration SlidingExpiration SlidingExpiration 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 UpdateCallback UpdateCallback UpdateCallback

Gets or sets a reference to a CacheEntryUpdateCallback delegate that is called before a cache entry is removed from the cache.

Methods

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to