MemoryCache.AddOrGetExisting 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
AddOrGetExisting(CacheItem, CacheItemPolicy) |
Adiciona uma entrada de cache no cache usando a instância CacheItem especificada e os detalhes sobre como remover a entrada. |
AddOrGetExisting(String, Object, DateTimeOffset, String) |
Adiciona uma entrada de cache ao cache usando a chave especificada e um valor de expiração absoluta. |
AddOrGetExisting(String, Object, CacheItemPolicy, String) |
Insere uma entrada de cache no cache usando a chave e o valor especificados, bem como os detalhes especificados para sua remoção. |
Comentários
As AddOrGetExisting sobrecargas de método são usadas para inserir uma entrada de cache no cache. Se uma entrada de cache com uma chave correspondente não existir, esses métodos inserirão uma nova entrada. Se uma entrada de cache com uma chave correspondente já existir, ela retornará a entrada existente.
AddOrGetExisting(CacheItem, CacheItemPolicy)
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
Adiciona uma entrada de cache no cache usando a instância CacheItem especificada e os detalhes sobre como remover a entrada.
public:
override System::Runtime::Caching::CacheItem ^ AddOrGetExisting(System::Runtime::Caching::CacheItem ^ item, System::Runtime::Caching::CacheItemPolicy ^ policy);
public override System.Runtime.Caching.CacheItem AddOrGetExisting (System.Runtime.Caching.CacheItem item, System.Runtime.Caching.CacheItemPolicy policy);
override this.AddOrGetExisting : System.Runtime.Caching.CacheItem * System.Runtime.Caching.CacheItemPolicy -> System.Runtime.Caching.CacheItem
Public Overrides Function AddOrGetExisting (item As CacheItem, policy As CacheItemPolicy) As CacheItem
Parâmetros
- item
- CacheItem
O objeto a adicionar.
- 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.
Retornos
Se houver uma entrada de cache com a mesma chave, a entrada de cache existente; caso contrário, null
.
Exceções
A propriedade Value é null
.
Os valores de expiração absoluta e deslizante para o objeto CacheItemPolicy são 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 uma combinação de uma expiração absoluta e uma expiração deslizante. Somente uma configuração de expiração pode ser definida explicitamente quando você usa a instância MemoryCache. A outra configuração de expiração deve ser definida como o campo InfiniteAbsoluteExpiration ou o NoSlidingExpiration.
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
O item
parâmetro fornece a chave e o valor usado pelo método . Se o cache tiver uma entrada de cache com a mesma chave que a chave do item
parâmetro , o método retornará a entrada existente como uma CacheItem instância. Se não houver nenhuma entrada de cache existente, o método criará uma nova usando a chave e o item
valor fornecidos pelo parâmetro e com os detalhes de remoção especificados por policy
.
Aviso
As sobrecargas do método Add e AddOrGetExisting não dão suporte à propriedade UpdateCallback. Portanto, para definir a propriedade UpdateCallback para uma entrada de cache, use as sobrecargas do método Set.
Aplica-se a
AddOrGetExisting(String, Object, DateTimeOffset, String)
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
Adiciona uma entrada de cache ao cache usando a chave especificada e um valor de expiração absoluta.
public override object AddOrGetExisting (string key, object value, DateTimeOffset absoluteExpiration, string regionName = default);
override this.AddOrGetExisting : string * obj * DateTimeOffset * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, absoluteExpiration As DateTimeOffset, Optional regionName As String = Nothing) As Object
Parâmetros
- key
- String
Um identificador exclusivo para a entrada de cache a ser adicionada.
- 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.
Retornos
Se houver uma entrada de cache com a mesma chave, a entrada de cache existente; caso contrário, null
.
Exceções
value
não é null
.
regionName
não é null
.
Os valores de expiração absoluta e deslizante para o objeto CacheItemPolicy são 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 uma combinação de uma expiração absoluta e uma expiração deslizante. Somente uma configuração de expiração pode ser definida explicitamente quando você usa a instância MemoryCache. A outra configuração de expiração deve ser definida como InfiniteAbsoluteExpiration ou NoSlidingExpiration
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
Se o cache não tiver uma entrada de cache cuja chave corresponda ao key
parâmetro , uma nova entrada de cache será criada e a sobrecarga do MemoryCache.AddOrGetExisting método retornará null
. Se existir uma entrada de cache correspondente, a entrada existente será retornada.
Aviso
As sobrecargas do método Add e AddOrGetExisting não dão suporte à propriedade UpdateCallback. Portanto, para definir a propriedade UpdateCallback para uma entrada de cache, use as sobrecargas do método Set.
Aplica-se a
AddOrGetExisting(String, Object, CacheItemPolicy, String)
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
- Origem:
- MemoryCache.cs
Insere uma entrada de cache no cache usando a chave e o valor especificados, bem como os detalhes especificados para sua remoção.
public override object AddOrGetExisting (string key, object value, System.Runtime.Caching.CacheItemPolicy policy, string regionName = default);
override this.AddOrGetExisting : string * obj * System.Runtime.Caching.CacheItemPolicy * string -> obj
Public Overrides Function AddOrGetExisting (key As String, value As Object, policy As CacheItemPolicy, Optional regionName As String = Nothing) As Object
Parâmetros
- key
- String
Um identificador exclusivo da entrada de cache a ser adicionada ou obtida.
- 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. Por padrão, esse parâmetro é null
, pois a classe MemoryCache não implementa regiões.
Retornos
Se uma entrada de cache correspondente já existir, uma entrada de cache; caso contrário, null
.
Exceções
value
é null
.
Os valores de expiração absoluta e deslizante para o objeto CacheItemPolicy são definidos como valores diferentes dos padrões de InfiniteAbsoluteExpiration e NoSlidingExpiration. A classe MemoryCache não pode definir a política de expiração com base em uma combinação de uma 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 InfiniteAbsoluteExpiration ou NoSlidingExpiration.
- ou -
O retorno de chamada de remoção e o retorno de chamada de atualização foram especificados para CacheItemPolicy. O 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 -
O SlidingExpiration foi definido como um valor maior que um ano.
- ou -
A propriedade Priority não é um valor da enumeração CacheItemPriority.
Comentários
Aviso
As sobrecargas do método Add e AddOrGetExisting não dão suporte à propriedade UpdateCallback. Portanto, para definir a propriedade UpdateCallback para uma entrada de cache, use as sobrecargas do método Set.