Partilhar via


Cache.Add Método

Definição

Adiciona o item especificado ao objeto Cache com dependências, políticas de término e prioridade, bem como um delegado que pode ser usado para notificar o aplicativo quando o item inserido é removido do Cache.

public:
 System::Object ^ Add(System::String ^ key, System::Object ^ value, System::Web::Caching::CacheDependency ^ dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System::Web::Caching::CacheItemPriority priority, System::Web::Caching::CacheItemRemovedCallback ^ onRemoveCallback);
public object Add (string key, object value, System.Web.Caching.CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, System.Web.Caching.CacheItemPriority priority, System.Web.Caching.CacheItemRemovedCallback onRemoveCallback);
member this.Add : string * obj * System.Web.Caching.CacheDependency * DateTime * TimeSpan * System.Web.Caching.CacheItemPriority * System.Web.Caching.CacheItemRemovedCallback -> obj
Public Function Add (key As String, value As Object, dependencies As CacheDependency, absoluteExpiration As DateTime, slidingExpiration As TimeSpan, priority As CacheItemPriority, onRemoveCallback As CacheItemRemovedCallback) As Object

Parâmetros

key
String

A chave de cache usada para referenciar o item.

value
Object

O item a ser adicionado ao cache.

dependencies
CacheDependency

As dependências de chave de cache ou de arquivo do item. Quando uma dependência é alterada, o objeto se torna inválido e é removido do cache. Se não houver nenhuma dependência, este parâmetro conterá null.

absoluteExpiration
DateTime

O tempo em que o objeto adicionado expira e é removido do cache. Se você estiver usando a expiração deslizante, o parâmetro absoluteExpiration deverá ser NoAbsoluteExpiration.

slidingExpiration
TimeSpan

O intervalo entre a hora em que o objeto adicionado foi acessado pela última vez e a hora em que esse objeto expira. Se esse valor for o equivalente de 20 minutos, o objeto expirará e será removido do cache 20 minutos após seu último acesso. Se você estiver usando uma expiração absoluta, o parâmetro slidingExpiration deverá ser NoSlidingExpiration.

priority
CacheItemPriority

O custo relativo do objeto, conforme expresso pela enumeração CacheItemPriority. O cache usa esse valor quando remove objetos; objetos com um custo mais baixo são removidos do cache antes de objetos com custo mais alto.

onRemoveCallback
CacheItemRemovedCallback

Um delegado que, se fornecido, será chamado quando um objeto for removido do cache. Use isso para notificar os aplicativos quando seus objetos são excluídos do cache.

Retornos

Um objeto que representa o item que foi adicionado se o item foi armazenado anteriormente em cache; caso contrário, null.

Exceções

O parâmetro key ou value é definido como null.

O parâmetro slidingExpiration é definido como menor que TimeSpan.Zero ou mais de um ano.

Os parâmetros absoluteExpiration e slidingExpiration são definidos para o item que você está tentando adicionar ao Cache.

Exemplos

O exemplo a seguir cria um AddItemToCache método . Quando esse método é chamado, ele define uma itemRemoved propriedade como false e registra um onRemove método com uma nova instância do CacheItemRemovedCallback delegado. A assinatura do delegado é usada no RemovedCallback método . Em AddItemToCache seguida, o método verifica o valor associado à Key1 chave no cache. Se o valor for null, o Add método colocará um item no cache com uma chave de Key1, um valor de Value 1, uma expiração absoluta de 60 segundos e uma alta prioridade de cache. Ele também usa o onRemove método como um argumento. Isso permite que o RemovedCallback método seja chamado quando este item for removido do cache.

Observação

Para obter exemplos de como usar a CacheDependency classe e o CacheItemRemovedCallback delegado, consulte Armazenando dados do aplicativo em cache.

public void AddItemToCache(Object sender, EventArgs e) {
    itemRemoved = false;

    onRemove = new CacheItemRemovedCallback(this.RemovedCallback);

    if (Cache["Key1"] == null)
      Cache.Add("Key1", "Value 1", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
}
Public Sub AddItemToCache(sender As Object, e As EventArgs)
    itemRemoved = false

    onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

    If (IsNothing(Cache("Key1"))) Then
      Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
    End If
End Sub

Comentários

As chamadas para esse método falharão silenciosamente se um item com o mesmo key parâmetro já estiver armazenado no Cache. Para substituir um item existente Cache usando o mesmo key parâmetro, use o Insert método .

Não é possível definir os absoluteExpiration parâmetros e slidingExpiration . Se você pretende que o item de cache expire em um momento específico, defina o absoluteExpiration parâmetro como o horário específico e o slidingExpiration parâmetro como NoSlidingExpiration.

Se você pretende que o item de cache expire depois que um determinado período de tempo tiver passado desde que o item foi acessado pela última vez, defina o slidingExpiration parâmetro como o intervalo de expiração e o absoluteExpiration parâmetro como NoAbsoluteExpiration.

Aplica-se a

Confira também