Cache.Add 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.
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.