Бөлісу құралы:


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, Object, String)

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

CacheItem(String, Object)

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

CacheItem(String)

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

Свойства

Имя Описание
Key

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

RegionName

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

Value

Возвращает или задает данные для экземпляра CacheItem .

Методы

Имя Описание
Equals(Object)

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

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

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

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

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

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

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

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

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

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

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

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