CacheItemPolicy Classe
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um conjunto de detalhes de remoção e expiração de uma entrada de cache específica.
public ref class CacheItemPolicy
public class CacheItemPolicy
type CacheItemPolicy = class
Public Class CacheItemPolicy
- Herança
-
CacheItemPolicy
O exemplo a seguir mostra como criar um item de cache na memória que monitora o caminho de um arquivo de texto. O cache cria um CacheItemPolicy objeto e define a AbsoluteExpiration propriedade para remover o cache após 60 segundos.
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;
}
Uma CacheItemPolicy instância contém informações que podem ser associadas a uma entrada de cache. Por exemplo, quando uma entrada de cache está prestes a ser removida do cache, um CacheEntryUpdateArguments objeto é passado para um método de retorno de chamada. A UpdatedCacheItemPolicy propriedade do CacheEntryUpdateArguments objeto pode passar uma referência para uma CacheItemPolicy instância que pode incluir detalhes de remoção e expiração sobre a entrada de cache.
Alguns métodos nas MemoryCache classes e ObjectCache aceitam uma CacheItemPolicy instância para descrever a política de remoção ou expiração.
O CacheItemPolicy tipo não está selado para que os desenvolvedores de cache personalizado possam estendê-lo.
Cache |
Inicializa uma nova instância da classe CacheItemPolicy. |
Absolute |
Obtém ou define um valor que indica se uma entrada de cache deve ser removida em um ponto no tempo especificado. |
Change |
Obtém uma coleção de objetos ChangeMonitor associados a uma entrada de cache. |
Priority |
Obtém ou define uma configuração de prioridade que é usada para determinar se é necessário remover uma entrada de cache. |
Removed |
Obtém ou define uma referência para um delegado CacheEntryRemovedCallback que é chamado depois que uma entrada é removida do cache. |
Sliding |
Obtém ou define um valor que indica se uma entrada de cache deve ser removida caso ela não tenha sido acessada em um determinado período de tempo. |
Update |
Obtém ou define uma referência para um delegado de CacheEntryUpdateCallback que é chamado antes que uma entrada de cache seja removida do cache. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Get |
Serve como a função de hash padrão. (Herdado de Object) |
Get |
Obtém o Type da instância atual. (Herdado de Object) |
Memberwise |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
To |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Produto | Versões |
---|---|
.NET | 8 (package-provided), 9 (package-provided), 10 (package-provided) |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0 (package-provided) |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: