Méthode Supprimer
Supprimer (chaîne, LockHandle, CacheItemVersion, WriteThruOptions)
Supprime l'élément spécifié de la ICache. Vous pouvez également spécifier l'option d'écriture, de sorte que l'élément puisse être supprimé à la fois du cache et de la source de données. Si la version est spécifiée, l'élément ne sera supprimé que si la version spécifiée est toujours la version la plus récente dans le cache.
Déclaration
void Remove(string key, LockHandle lockHandle = null, CacheItemVersion version = null, WriteThruOptions writeThruOptions = null)
Paramètres
Type | Nom | Description |
---|---|---|
Système.String | key | Clé unique de l'élément à supprimer. |
Poignée de verrouillage | poignée de verrouillage | Si l'élément est verrouillé, il ne peut être supprimé que si le lockHandle correct est spécifié. lockHandle doit être le même que celui utilisé initialement pour verrouiller l'élément, sinon vous obtiendrez le 'OperationFailedException'. |
CacheItemVersionCacheItemVersion | version | Version de l'élément à supprimer. L'élément est supprimé du cache uniquement s'il s'agit toujours de la version la plus récente dans le cache. |
Options d'écriture | WriteThruOptions | Options d'écriture concernant la mise à jour de la source de données. Cela peut être WriteThru, WriteBehind ou aucun. |
Exemples
L'exemple suivant montre comment supprimer un élément verrouillé dans le cache avec WriteThruOptions.
ICache cache = CacheManager.GetCache("demoCache");
Product product = new Product();
product.Id = 1;
product.Name = "Chai";
string key = "Product0";
CacheItemVersion version = cache.Add(key, product);
LockHandle lockHandle = new LockHandle();
object item = cache.Get<Product>(key, true, TimeSpan.Zero, ref lockHandle);
if (item != null)
{
try
{
WriteThruOptions writeThruOptions = new WriteThruOptions(WriteMode.WriteThru, "ProdDataSource1");
cache.Remove(key, lockHandle, version, writeThruOptions);
}
catch (OperationFailedException ex)
{
...
}
}
Éliminer (Chaîne, sortie T, LockHandle, CacheItemVersion, WriteThruOptions)
Supprime l'élément spécifié de la ICache et le renvoie à l'application en tant que paramètre de sortie. Vous pouvez également spécifier l'option d'écriture de telle sorte que l'élément puisse être supprimé à la fois du cache et de la source de données. Si la version est spécifiée, l'élément ne sera supprimé que si la version spécifiée est toujours la version la plus récente dans le cache.
Déclaration
bool Remove<T>(string key, out T removedItem, LockHandle lockHandle = null, CacheItemVersion version = null, WriteThruOptions writeThruOptions = null)
Paramètres
Type | Nom | Description |
---|---|---|
Système.String | key | Clé unique de l'élément à supprimer. |
T | élément supprimé | Paramètre Out via lequel l'élément supprimé du cache est renvoyé |
Poignée de verrouillage | poignée de verrouillage | Si l’élément est verrouillé, il ne peut être supprimé que si le LockHandle correct est spécifié. LockHandle doit être le même que celui utilisé initialement pour verrouiller l’élément, sinon vous obtiendrez « OperationFailedException ». |
CacheItemVersionCacheItemVersion | version | Version de l'élément à supprimer. L'élément est supprimé du cache, seulement s'il s'agit toujours de la version la plus récente dans le cache. |
Options d'écriture | WriteThruOptions | Options d'écriture concernant la mise à jour de la source de données. Cela peut être WriteThru, WriteBehind ou aucun. |
Retours
Type | Description |
---|---|
Système.Booléen | Indicateur qui détermine l’état de l’opération de suppression. Vrai si l'élément a été supprimé avec succès du cache ou False si l'opération de suppression a échoué. |
Paramètres de type
Nom | Description |
---|---|
T | Spécifie le type de valeur obtenu à partir du cache. |
Exemples
L'exemple suivant montre comment supprimer un élément du cache.
ICache cache = CacheManager.GetCache("demoCache");
Product product = new Product();
product.Id = 1;
product.Name = "Chai";
string key = "Product0";
CacheItemVersion version = cache.Add(key, product);
LockHandle lockHandle = new LockHandle();
object item = cache.Get<Product>(key, true, TimeSpan.Zero, ref lockHandle);
WriteThruOptions writeThruOptions = new WriteThruOptions(WriteMode.WriteThru, "ProdDataSource1");
try
{
Product removedProduct = null;
if (cache.Remove<Product>(key, out removedProduct, lockHandle, version, writeThruOptions))
{
//Removed successfully
}
else
{
//Error Occured
}
}
catch(Exception ex)
{
...
}
Exceptions
Type | État |
---|---|
System.ArgumentNullException | La clé contient une référence nulle. |
System.ArgumentException | La clé n'est pas sérialisable. |