CacheItem CacheItem CacheItem CacheItem Class

定义

表示缓存中的单个缓存项。Represents an individual cache entry in the cache.

public ref class CacheItem
public class CacheItem
type CacheItem = class
Public Class CacheItem
继承
CacheItemCacheItemCacheItemCacheItem

示例

下面的示例演示如何使用CacheItem类将文件内容存储为缓存条目。The following example shows how to use the CacheItem class to store the contents of a file as a cache entry.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Caching;
using System.IO;

public partial class _Default : System.Web.UI.Page
{
   
    
    protected void Button1_Click(object sender, EventArgs e)
    {
        ObjectCache cache = MemoryCache.Default;

        CacheItem fileContents = cache.GetCacheItem("filecontents");

        if (fileContents == null)
        {
            CacheItemPolicy policy = new CacheItemPolicy();

            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
            string fileData = File.ReadAllText(cachedFilePath);

            fileContents = new CacheItem("filecontents", fileData);

            cache.Set(fileContents, policy);
        }
        Label1.Text = (fileContents.Value as string);


    }
}
Imports System.Runtime.Caching
Imports System.IO

Partial Class _Default
    Inherits System.Web.UI.Page

    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 CacheItem = cache.GetCacheItem("filecontents")

        If fileContents Is Nothing Then
            Dim policy As New CacheItemPolicy()

            Dim filePaths As New List(Of String)()

            Dim CachedFilePaths As String = Server.MapPath("~") & "\cacheText.txt"

                filePaths.Add(CachedFilePaths)

            policy.ChangeMonitors.Add(New HostFileChangeMonitor(filePaths))

            ' Fetch the file contents 
            Dim fileData As String = File.ReadAllText(CachedFilePaths)

            fileContents = New CacheItem("filecontents", fileData)

            cache.Set(fileContents, policy)
        End If
        Label1.Text = TryCast(fileContents.Value, String)
    End Sub
End Class

注解

类提供缓存项的逻辑表示形式, 它可以通过RegionName使用属性来包含区域。 CacheItemThe CacheItem class provides a logical representation of a cache entry, which can include regions by using the RegionName property. 在默认的 ASP.NET 缓存实现中, 缓存项是键/值对。In the default ASP.NET cache implementation, a cache entry is a key/value pair.

缓存中的项不CacheItem是实例。Entries in the cache are not CacheItem instances. 相反, 缓存提供程序可以将缓存条目存储为任何方便的内部格式。Instead, the cache provider can store cache entries in any internal format that is convenient. 但是, 缓存 API 要求缓存提供程序能够将缓存项CacheItem转换为实例 (反之亦然)。However, the cache API requires cache providers to be able to convert cache entries into CacheItem instances (and vice versa).

自定义缓存实现可以从类CacheItem继承, 提供有关缓存项的其他信息。Custom cache implementations can inherit from the CacheItem class provide additional information about cache entries.

继承者说明

类具有支持添加、提取和更新缓存数据的方法, 并且所有这些方法都具有CacheItem支持类的重载。 ObjectCacheThe ObjectCache class has methods that support adding, fetching, and updating cache data, and all these methods have overloads that support the CacheItem class. 因此, 自定义缓存实现可以创建扩展CacheItem类, 并将该扩展类与现有ObjectCache API 一起用于缓存条目。Therefore, a custom cache implementation can create an extended CacheItem class and use that extended class together with the existing ObjectCache API for cache entries.

构造函数

CacheItem(String) CacheItem(String) CacheItem(String) CacheItem(String)

使用指定的缓存项键初始化新的 CacheItem 实例。Initializes a new CacheItem instance using the specified key of a cache entry.

CacheItem(String, Object) CacheItem(String, Object) CacheItem(String, Object) CacheItem(String, Object)

使用缓存项的指定键和值初始化新的 CacheItem 实例。Initializes a new CacheItem instance using the specified key and a value of the cache entry.

CacheItem(String, Object, String) CacheItem(String, Object, String) CacheItem(String, Object, String) CacheItem(String, Object, String)

使用缓存项的指定键、值和区域初始化新的 CacheItem 实例。Initializes a new CacheItem instance using the specified key, value, and region of the cache entry.

属性

Key Key Key Key

获取或设置 CacheItem 实例的唯一标识符。Gets or sets a unique identifier for a CacheItem instance.

RegionName RegionName RegionName RegionName

获取或设置缓存中将包含 CacheItem 项的区域的名称。Gets or sets the name of a region in the cache that contains a CacheItem entry.

Value Value Value Value

获取或设置 CacheItem 实例的数据。Gets or sets the data for a CacheItem instance.

方法

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()

获取当前实例的 TypeGets the Type of the current instance.

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

创建当前 Object 的浅表副本。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)

适用于

另请参阅