MemoryCache.Set Método

Definição

Insere uma entrada de cache na cache.

Sobrecargas

Name Description
Set(CacheItem, CacheItemPolicy)

Insere uma entrada de cache na cache usando uma CacheItem instância para fornecer a chave e o valor da entrada de cache.

Set(String, Object, DateTimeOffset, String)

Insere uma entrada de cache na cache usando uma chave e um valor e especifica detalhes de expiração baseados no tempo.

Set(String, Object, CacheItemPolicy, String)

Insere uma entrada de cache na cache usando uma chave, um valor e expulsão.

Observações

Se a entrada especificada não existir, ela é criada. Se a entrada especificada existir, esta é atualizada.

Set(CacheItem, CacheItemPolicy)

Insere uma entrada de cache na cache usando uma CacheItem instância para fornecer a chave e o valor da 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 para inserir.

policy
CacheItemPolicy

Um objeto que contém detalhes de expulsão para a entrada da cache. Este objeto oferece mais opções de despejo do que uma simples expiração absoluta.

Exceções

item é null.

-ou-

A propriedade Key é null.

-ou-

A propriedade Value é null.

Foi passada uma combinação inválida de argumentos para a entrada da cache. Isto ocorre se os seguintes detalhes de expiração forem definidos no objeto de política para a entrada da cache:

  • Se tanto os valores absolutos como os valores de expiração deslizantes do CacheItemPolicy objeto forem definidos para valores diferentes dos valores padrão de campos e InfiniteAbsoluteExpirationNoSlidingExpiration . A MemoryCache classe não pode definir uma política de expiração baseada tanto numa expiração absoluta como numa expiração deslizante. Só uma definição de expiração pode ser definida explicitamente quando usas a MemoryCache classe. A outra definição deve ser definida como InfiniteAbsoluteExpiration ou NoSlidingExpiration propriedade.

  • Se tanto o callback de remoção como o callback de atualização forem especificados para CacheItemPolicy o objeto. A MemoryCache classe só suporta o uso de um tipo de callback por entrada de cache.

A SlidingExpiration propriedade é definida para um valor inferior a Zero.

-ou-

A SlidingExpiration propriedade é definida para um valor superior a um ano.

-ou-

O Priority não é um valor da CacheItemPriority enumeração.

Observações

Tal como outros Set overloads de métodos, o Set método coloca sempre um valor de cache na cache, independentemente de já existir uma entrada com a mesma chave. Se a entrada especificada não existir na cache, é inserida uma nova entrada na cache. Se a entrada especificada já existir, o seu valor é atualizado.

Aplica-se a

Set(String, Object, DateTimeOffset, String)

Insere uma entrada de cache na cache usando uma chave e um valor e especifica detalhes de expiração baseados no 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 único para a entrada do cache inserir.

value
Object

Os dados para a entrada da cache.

absoluteExpiration
DateTimeOffset

A data e hora fixas em que a entrada do cache expirará.

regionName
String

Uma região nomeada no cache à qual pode ser adicionada uma entrada de cache. Não passe um valor para este parâmetro. Este parâmetro é null por defeito, porque a MemoryCache classe não implementa regiões.

Exceções

regionName não nullé .

key é null.

-ou-

value é null.

  • Foi passada uma combinação inválida de argumentos para a entrada da cache. Isto ocorre se os seguintes detalhes de expiração forem definidos no objeto de política para a entrada da cache:

  • Se tanto os valores absolutos como os valores de expiração deslizantes do CacheItemPolicy objeto forem definidos para valores diferentes dos valores por debaixo de InfiniteAbsoluteExpiration e NoSlidingExpiration. Isto acontece porque a MemoryCache classe não suporta entradas que expiram com base numa expiração absoluta e numa expiração progressiva. Só uma definição de expiração pode ser definida explicitamente quando usas a MemoryCache classe. A outra definição deve ser definida como InfiniteAbsoluteExpiration ou NoSlidingExpiration.

  • Se tanto o callback de remoção como o callback de atualização forem especificados no CacheItemPolicy objeto. A MemoryCache classe só suporta o uso de um tipo de callback por entrada de cache.

A SlidingExpiration propriedade é definida para um valor inferior a Zero.

-ou-

A SlidingExpiration propriedade é definida para um valor superior a um ano.

-ou-

Observações

Tal como outras Set sobrecargas de métodos, o Set método coloca sempre um valor de cache na cache, independentemente de já existir uma entrada com a mesma chave. Se a entrada especificada não existir, é inserida uma nova entrada na cache. Se a entrada especificada existir, esta é atualizada.

O absoluteExpiration parâmetro indica quando a entrada deve ser removida da cache.

Remover uma entrada ativa quaisquer monitores de alteração associados. Se o item removido estava associado a um CacheItemUpdateCallback objeto ou CacheItemRemovedCallback objeto, a razão da remoção que é passada aos callbacks está contida na Removed propriedade.

Aplica-se a

Set(String, Object, CacheItemPolicy, String)

Insere uma entrada de cache na cache usando uma chave, um valor e expulsã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 único para a entrada do cache inserir.

value
Object

Os dados para a entrada da cache.

policy
CacheItemPolicy

Um objeto que contém detalhes de expulsão para a entrada da cache. Este objeto oferece mais opções de despejo do que uma simples expiração absoluta.

regionName
String

Uma região nomeada no cache à qual pode ser adicionada uma entrada de cache. Não passe um valor para este parâmetro. Este parâmetro é null por defeito, porque a MemoryCache classe não implementa regiões.

Exceções

key é null.

-ou-

value é null

-ou-

A referência de callback que foi passada ao método helper na UpdateCallback propriedade é null.

  • Existe uma combinação inválida de argumentos para a entrada do cache. Isto ocorre se os seguintes detalhes de expiração forem definidos no objeto de política para a entrada da cache:

  • Se tanto os valores absolutos como os valores de expiração deslizantes do CacheItemPolicy objeto forem definidos para valores diferentes dos valores por debaixo de InfiniteAbsoluteExpiration e NoSlidingExpiration. Isto porque a MemoryCache aula não suporta inscrições que expiram com base numa expiração absoluta e numa expiração progressiva. Só uma definição de expiração pode ser definida explicitamente quando usas a MemoryCache classe. A outra definição deve ser definida como InfiniteAbsoluteExpiration ou NoSlidingExpiration.

  • Se tanto o callback de remoção como o callback de atualização forem especificados na CacheItemPolicy classe. A MemoryCache classe só suporta o uso de um tipo de callback por entrada de cache.

A SlidingExpiration propriedade é definida para um valor inferior a Zero.

-ou-

A SlidingExpiration propriedade é definida para um valor superior a um ano.

-ou-

A Priority propriedade não é um valor da CacheItemPriority enumeração.

regionName não nullé .

Observações

Tal como outras Set sobrecargas de métodos, o Set método coloca sempre um valor de cache na cache, independentemente de já existir uma entrada correspondente. Se a entrada especificada não existir na cache, é inserida uma nova entrada na cache. Se a entrada especificada existir, esta é atualizada.

Remover uma entrada ativa quaisquer monitores de alteração associados. Se o item removido estava associado a um CacheItemUpdateCallback objeto ou CacheItemRemovedCallback objeto, a razão da remoção que é passada aos callbacks está contida na Removed propriedade.

Aplica-se a