CacheItem Classe

Definição

Representa uma entrada individual de cache na cache.

public ref class CacheItem
public class CacheItem
type CacheItem = class
Public Class CacheItem
Herança
CacheItem

Exemplos

O exemplo seguinte mostra como usar a CacheItem classe para armazenar o conteúdo de um ficheiro como entrada de cache.

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

Observações

A CacheItem classe fornece uma representação lógica de uma entrada de cache, que pode incluir regiões usando a RegionName propriedade. Na implementação padrão de cache ASP.NET, uma entrada de cache é um par chave/valor.

As entradas na cache não CacheItem são instâncias. Em vez disso, o fornecedor de cache pode armazenar entradas de cache em qualquer formato interno que seja conveniente. No entanto, a API de cache exige que os fornecedores de cache sejam capazes de converter entradas de cache em CacheItem instâncias (e vice-versa).

Implementações de cache personalizadas podem herdar da CacheItem classe e fornecer informações adicionais sobre entradas de cache.

Notas para Herdeiros

A ObjectCache classe tem métodos que suportam a adição, recolha e atualização de dados de cache, e todos estes métodos têm sobrecargas que suportam a CacheItem classe. Assim, uma implementação de cache personalizada pode criar uma classe estendida CacheItem e usar essa classe estendida juntamente com a API existente ObjectCache para entradas de cache.

Construtores

Name Description
CacheItem(String, Object, String)

Inicializa uma nova CacheItem instância usando a chave, valor e região especificados da entrada da cache.

CacheItem(String, Object)

Inicializa uma nova CacheItem instância usando a chave especificada e um valor da entrada da cache.

CacheItem(String)

Inicializa uma nova CacheItem instância usando a chave especificada de uma entrada de cache.

Propriedades

Name Description
Key

Obtém ou define um identificador único para uma CacheItem instância.

RegionName

Obtém ou define o nome de uma região na cache que contém uma CacheItem entrada.

Value

Obtém ou define os dados de uma CacheItem instância.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também