Compartilhar via


MemoryCache.Set Método

Definição

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

item é null.

- ou -

A propriedade Key é null.

- ou -

A propriedade Value é 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 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.

key é null.

- ou -

Value é 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 -

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 .

Aplica-se a