MemoryCache.Set Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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é .
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-
- A Priority propriedade não é um valor da CacheItemPriority enumeração.
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.