Поделиться через


CacheItem Класс

Определение

Представляет отдельную запись в кэше.

public ref class CacheItem
public class CacheItem
type CacheItem = class
Public Class CacheItem
Наследование
CacheItem

Примеры

В следующем примере показано, как использовать CacheItem класс для хранения содержимого файла в качестве записи кэша.

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

Комментарии

Класс CacheItem предоставляет логическое представление записи кэша, которая может включать области с помощью RegionName свойства . В реализации кэша по умолчанию ASP.NET запись кэша представляет собой пару "ключ-значение".

Записи в кэше не CacheItem являются экземплярами. Вместо этого поставщик кэша может хранить записи кэша в любом удобном внутреннем формате. Однако API кэша требует, чтобы поставщики кэша могли преобразовывать записи кэша в CacheItem экземпляры (и наоборот).

Пользовательские реализации кэша могут наследоваться от CacheItem класса , предоставляя дополнительные сведения о записях кэша.

Примечания для тех, кто наследует этот метод

Класс ObjectCache содержит методы, поддерживающие добавление, получение и обновление данных кэша, и все эти методы имеют перегрузки, поддерживающие CacheItem класс . Таким образом, пользовательская реализация кэша может создать расширенный CacheItem класс и использовать этот расширенный класс вместе с существующим ObjectCache API для записей кэша.

Конструкторы

CacheItem(String)

Инициализирует новый экземпляр класса CacheItem, используя заданный ключ записи кэша.

CacheItem(String, Object)

Инициализирует новый экземпляр класса CacheItem, используя заданный ключ и значение записи кэша.

CacheItem(String, Object, String)

Инициализирует новый экземпляр класса CacheItem, используя заданный ключ, значение и область записи кэша.

Свойства

Key

Получает или задает уникальный идентификатор экземпляра CacheItem.

RegionName

Получает или задает имя области кэша, содержащей запись CacheItem.

Value

Получает или задает данные экземпляра CacheItem.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел