MemoryCache.Set Método
Definição
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.
Insere uma entrada de cache no cache.
Sobrecargas
Set(CacheItem, CacheItemPolicy) |
Insere uma entrada de cache no cache usando uma instância CacheItem para fornecer a chave e valor para a entrada de cache. |
Set(String, Object, DateTimeOffset, String) |
Insere uma entrada de cache no cache usando uma chave e um valor e especifica os detalhes de expiração baseados em tempo. |
Set(String, Object, CacheItemPolicy, String) |
Insere uma entrada de cache no cache usando uma chave e um valor e remoção. |
Comentários
Se a entrada especificada não existir, ela será criada. Se a entrada especificada existir, ela será atualizada.
Set(CacheItem, CacheItemPolicy)
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
Insere uma entrada de cache no cache usando uma instância CacheItem para fornecer a chave e valor para a entrada de cache.
public:
override void Set(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override void Set (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.Set : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> unit
Public Overrides Sub Set (item As CacheItem, policy As CacheItemPolicy)
Parâmetros
- item
- CacheItem
Um objeto que representa uma entrada de cache a ser inserido.
- policy
- CacheItemPolicy
Um objeto que contém os detalhes da remoção da entrada de cache. Esse objeto fornece mais opções de remoção do que uma expiração absoluta simples.
Exceções
Foi passada uma combinação de argumentos inválida para a entrada de cache. Isso ocorrerá se os seguintes detalhes de expiração forem definidos no objeto de política para a entrada de cache:
Se os valores de expiração absoluta e deslizante para o objeto CacheItemPolicy forem definidos como valores diferentes dos padrões dos campos InfiniteAbsoluteExpiration e NoSlidingExpiration. A classe MemoryCache não pode definir a política de expiração com base em na expiração absoluta e uma expiração deslizante. Somente uma configuração de expiração pode ser definida explicitamente quando você usa a classe MemoryCache. A outra configuração deve ser definida como propriedade InfiniteAbsoluteExpiration ou NoSlidingExpiration.
Se o retorno de chamada de remoção e o retorno de chamada de atualização forem especificados para o objeto CacheItemPolicy. A classe MemoryCache dá suporte apenas ao uso de um tipo de retorno de chamada por entrada de cache.
A propriedade SlidingExpiration é definida com um valor menor que Zero.
- ou -
A propriedade SlidingExpiration é definida com um valor maior que um ano.
- ou -
A propriedade Priority não é um valor da enumeração de CacheItemPriority.
Comentários
Como outras Set sobrecargas de método, o Set método sempre coloca um valor de cache no cache, independentemente de já existir uma entrada que tenha a mesma chave. Se a entrada especificada não existir no cache, uma nova entrada de cache será inserida. Se a entrada especificada já existir, seu valor será atualizado.
Aplica-se a
Set(String, Object, DateTimeOffset, String)
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
Insere uma entrada de cache no cache usando uma chave e um valor e especifica os detalhes de expiração baseados em tempo.
public override void Set (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.Set : string * obj * DateTimeOffset * string -> unit
Public Overrides Sub Set (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing)
Parâmetros
- key
- String
Um identificador exclusivo para a entrada de cache a ser inserida.
- value
- Object
Os dados de entrada de cache.
- absoluteExpiration
- DateTimeOffset
A data e a hora fixas em que a entrada de cache vai expirar.
- regionName
- String
Uma região nomeada no cache à qual uma entrada de cache pode ser adicionada. Não passe um valor para esse parâmetro. Esse parâmetro é null
por padrão, pois a classe MemoryCache não implementa regiões.
Exceções
regionName
não é null
.
Foi passada uma combinação de argumentos inválida para a entrada de cache. Isso ocorrerá se os seguintes detalhes de expiração forem definidos no objeto de política para a entrada de cache:
Se os valores de expiração absoluta e deslizante no objeto CacheItemPolicy forem definidos como valores diferentes dos padrões de InfiniteAbsoluteExpiration e NoSlidingExpiration. Isso ocorre porque a classe MemoryCache não dá suporte a entradas de expiração com base em uma expiração absoluta e deslizante. Somente uma configuração de expiração pode ser definida explicitamente quando você usa a classe MemoryCache. A outra configuração deve ser definida como InfiniteAbsoluteExpiration ou NoSlidingExpiration.
Se o retorno de chamada de remoção e o retorno de chamada de atualização foram especificados no objeto CacheItemPolicy. A classe MemoryCache dá suporte apenas ao uso de um tipo de retorno de chamada por entrada de cache.
A propriedade SlidingExpiration é definida com um valor menor que Zero.
- ou -
A propriedade SlidingExpiration é definida com um valor maior que um ano.
- ou -
- A propriedade Priority não é um valor da enumeração CacheItemPriority.
Comentários
Como outras Set sobrecargas de método, o Set método sempre coloca um valor de cache no cache, independentemente de uma entrada já existir com a mesma chave. Se a entrada especificada não existir, uma nova entrada de cache será inserida. Se a entrada especificada existir, ela será atualizada.
O absoluteExpiration
parâmetro indica quando a entrada deve ser removida do cache.
A remoção de uma entrada dispara todos os monitores de alteração associados. Se o item removido foi associado a um CacheItemUpdateCallback objeto ou CacheItemRemovedCallback objeto, o motivo da remoção que é passado para os retornos de chamada está contido na Removed propriedade .
Aplica-se a
Set(String, Object, CacheItemPolicy, String)
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
Insere uma entrada de cache no cache usando uma chave e um valor e remoção.
public override void Set (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.Set : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> unit
Public Overrides Sub Set (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing)
Parâmetros
- key
- String
Um identificador exclusivo para a entrada de cache a ser inserida.
- value
- Object
Os dados de entrada de cache.
- policy
- CacheItemPolicy
Um objeto que contém os detalhes da remoção da entrada de cache. Esse objeto fornece mais opções de remoção do que uma expiração absoluta simples.
- regionName
- String
Uma região nomeada no cache à qual uma entrada de cache pode ser adicionada. Não passe um valor para esse parâmetro. Esse parâmetro é null
por padrão, pois a classe MemoryCache não implementa regiões.
Exceções
key
é null
.
- ou -
value
é null
- ou -
A referência de retorno de chamada passada para o método auxiliar na propriedade UpdateCallback é null
.
Existe uma combinação inválida de argumentos para a entrada de cache. Isso ocorrerá se os seguintes detalhes de expiração forem definidos no objeto de política para a entrada de cache:
Se os valores de expiração absoluta e deslizante no objeto CacheItemPolicy forem definidos como valores diferentes dos padrões de InfiniteAbsoluteExpiration e NoSlidingExpiration. Isso ocorre porque a classe MemoryCache não dá suporte a entradas de expiração com base em uma expiração absoluta e deslizante. Somente uma configuração de expiração pode ser definida explicitamente quando você usa a classe MemoryCache. A outra configuração deve ser definida como InfiniteAbsoluteExpiration ou NoSlidingExpiration.
Se o retorno de chamada de remoção e o retorno de chamada de atualização foram especificados na classe CacheItemPolicy. A classe MemoryCache dá suporte apenas ao uso de um tipo de retorno de chamada por entrada de cache.
A propriedade SlidingExpiration é definida com um valor menor que Zero.
- ou -
A propriedade SlidingExpiration é definida com um valor maior que um ano.
- ou -
A propriedade Priority não é um valor da enumeração CacheItemPriority.
regionName
não é null
.
Comentários
Como outras Set sobrecargas de método, o Set método sempre coloca um valor de cache no cache, independentemente de já existir uma entrada correspondente. Se a entrada especificada não existir no cache, uma nova entrada de cache será inserida. Se a entrada especificada existir, ela será atualizada.
A remoção de uma entrada dispara todos os monitores de alteração associados. Se o item removido foi associado a um CacheItemUpdateCallback objeto ou CacheItemRemovedCallback objeto, o motivo da remoção que é passado para os retornos de chamada está contido na Removed propriedade .