Compartilhar via


MemoryCache.AddOrGetExisting Método

Definição

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

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

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

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.

Aplica-se a