Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

MemoryCache.Set méthode (String, Object, CacheItemPolicy, String)

.NET Framework (current version)
 

Date de publication : novembre 2016

Insère une entrée dans le cache à l'aide d'une clé et d'une valeur pour l'éviction.

Espace de noms:   System.Runtime.Caching
Assembly:  System.Runtime.Caching (dans System.Runtime.Caching.dll)

public override void Set(
	string key,
	object value,
	CacheItemPolicy policy,
	string regionName = null
)

Paramètres

key
Type: System.String

Identificateur unique de l'entrée de cache à insérer.

value
Type: System.Object

Données pour l'entrée du cache.

policy
Type: System.Runtime.Caching.CacheItemPolicy

Objet qui contient les informations d'éviction de l'entrée de cache. Cet objet fournit des options d'éviction autres que la simple expiration absolue.

regionName
Type: System.String

Région nommée du cache à laquelle une entrée de cache peut être ajoutée. Ne passez pas de valeur pour ce paramètre. Ce paramètre est null par défaut, car la classe MemoryCache n'implémente pas de régions.

Exception Condition
ArgumentNullException

key a la valeur null.

ou

value est null

ou

La référence de rappel qui a été passée à la méthode d’assistance dans le UpdateCallback propriété est null.

ArgumentException
  • Il existe une combinaison non valide d’arguments pour l’entrée de cache. Cela se produit si les détails d’expiration suivants sont définis sur l’objet de stratégie pour l’entrée de cache :

  • Si l’expiration absolue et décalée valeurs sur CacheItemPolicy objet sont définies sur les valeurs par défaut de InfiniteAbsoluteExpiration et NoSlidingExpiration. C’est parce que la MemoryCache classe ne prend pas en charge l’expiration absolue et une expiration décalée en fonction des entrées. Qu’un seul paramètre d’expiration peut être défini lorsque vous utilisez la MemoryCache classe. L’autre paramètre doit être défini InfiniteAbsoluteExpiration ou NoSlidingExpiration.

  • Si le rappel de suppression et le rappel de mise à jour sont spécifiées sur CacheItemPolicy classe. La MemoryCache classe prend en charge uniquement un seul type de rappel par entrée de cache.

ArgumentOutOfRangeException

Le SlidingExpiration est définie sur une valeur inférieure à Zero.

ou

Le SlidingExpiration propriété est définie sur une valeur supérieure à un an.

ou

Le Priority propriété n’est pas une valeur de la CacheItemPriority (énumération).

NotSupportedException

regionName n’est pas null.

Comme les autres Set surcharges de méthode, la Set méthode met toujours une valeur de cache dans le cache, qu’une entrée correspondante existe déjà. Si l’entrée spécifiée n’existe pas dans le cache, une nouvelle entrée de cache est insérée. Si l’entrée spécifiée existe, il est mis à jour.

Suppression d’une entrée déclenche tous les analyseurs de modification associée. Si l’élément supprimé était associé à un CacheItemUpdateCallback objet ou CacheItemRemovedCallback de l’objet, la raison de la suppression passée aux rappels est contenue dans le Removed propriété.

.NET Framework
Disponible depuis 4.0
Retour au début
Afficher: