Comment : ajouter des éléments au cache
Mise à jour : novembre 2007
Vous pouvez accéder aux éléments du cache de l'application à l'aide de l'objet Cache. Vous pouvez ajouter un élément au cache de l'application à l'aide de la méthode Insert de l'objet Cache. La méthode ajoute un élément au cache et possède plusieurs surcharges qui vous permettent d'ajouter l'élément avec différentes options pour définir les dépendances, l'expiration et la notification de suppression. Si vous utilisez la méthode Insert pour ajouter un élément au cache et qu'un élément avec le même nom existe déjà, l'élément existant dans le cache est remplacé.
Vous pouvez également ajouter des éléments au cache à l'aide de la méthode Add. Cette méthode vous permet de définir les mêmes options que la méthode Insert ; cependant, la méthode Add retourne l'objet que vous avez ajouté au cache. En outre, si vous utilisez la méthode Add et qu'un élément avec le même nom existe déjà dans le cache, la méthode ne remplace pas l'élément et ne lève pas d'exception.
Les procédures de cette rubrique illustrent différentes façons d'ajouter des éléments au cache de l'application :
Ajout d'un élément au cache en définissant directement l'élément via une clé et une valeur.
Ajout des éléments au cache à l'aide de la méthode Insert.
Ajout d'un élément au cache et ajout d'une dépendance afin que l'élément soit supprimé du cache en cas de modification de la dépendance. Vous pouvez définir des dépendances fondées sur d'autres éléments de cache, sur des fichiers et sur plusieurs objets.
Pour ajouter au cache un élément assorti de stratégies d'expiration Outre le fait de pouvoir définir la dépendance d'un élément, vous pouvez définir l'élément afin qu'il expire après une certaine période de temps (expiration décalée) ou à une heure donnée (expiration absolue). Vous pouvez définir soit une expiration absolue, soit une expiration décalée, mais pas les deux.
Ajout d'un élément au cache et définition de la priorité relative de l'élément mis en cache Les priorités relatives aident le .NET Framework à déterminer les éléments du cache à supprimer les éléments de priorité moindre sont supprimés du cache avant ceux de priorité élevée.
Ajout d'un élément en appelant la méthode Add.
En plus des dépendances illustrées ici, vous pouvez créer une dépendance sur une table SQL Server ou basée sur une dépendance personnalisée. Pour plus d'informations, consultez Vue d'ensemble de la mise en cache ASP.NET et Mise en cache dans ASP.NET avec la classe SqlCacheDependency.
Vous pouvez aussi faire en sorte que le cache de l'application informe votre application lorsque l'élément est supprimé du cache, à l'aide du délégué CacheItemRemovedCallback. Pour obtenir un exemple complet, consultez Comment : avertir une application lorsqu'un élément est supprimé du cache.
Pour ajouter un élément au cache en définissant directement l'élément via une clé et une valeur
Ajoutez les éléments au cache comme vous ajouteriez des éléments à un dictionnaire en spécifiant la clé et la valeur de l'élément.
L'exemple de code suivant ajoute un élément nommé CacheItem1 à l'objet Cache :
Cache["CacheItem1"] = "Cached Item 1";
Cache("CacheItem1") = "Cached Item 1"
Pour ajouter des éléments au cache à l'aide de la méthode Insert
Appelez la méthode Insert, en passant la clé et la valeur de l'élément à ajouter.
L'exemple de code suivant ajoute une chaîne sous le nom CacheItem2:
Cache.Insert("CacheItem2", "Cached Item 2");
Cache.Insert("CacheItem2", "Cached Item 2")
Pour ajouter un élément au cache en spécifiant une dépendance
Appelez la méthode Insert, en lui passant une instance de l'objet CacheDependency
L'exemple de code suivant ajoute un élément nommé CacheItem3, dépendant d'un autre élément du cache nommé CacheItem2:
string[] dependencies = { "CacheItem2" }; Cache.Insert("CacheItem3", "Cached Item 3", new System.Web.Caching.CacheDependency(null, dependencies));
Dim dependencies As String() = {"CacheItem2"} Cache.Insert("CacheItem3", "Cached Item 3", _ New System.Web.Caching.CacheDependency( _ Nothing, dependencies))
L'exemple de code suivant affiche un élément nommé CacheItem4, ajouté au cache et ayant une dépendance définie sur le fichier nommé XMLFile.xml :
Cache.Insert("CacheItem4", "Cached Item 4", new System.Web.Caching.CacheDependency( Server.MapPath("XMLFile.xml")));
Cache.Insert("CacheItem4", "Cached Item 4", _ New System.Web.Caching.CacheDependency( _ Server.MapPath("XMLFile.xml")))
L'exemple de code suivant montre comment créer plusieurs dépendances. Il ajoute une dépendance de clé sur un autre élément du cache nommé CacheItem1 et une dépendance de fichier sur le fichier nommé XMLFile.xml.
System.Web.Caching.CacheDependency dep1 = new System.Web.Caching.CacheDependency(Server.MapPath("XMLFile.xml")); string[] keyDependencies2 = { "CacheItem1" }; System.Web.Caching.CacheDependency dep2 = new System.Web.Caching.CacheDependency(null, keyDependencies2); System.Web.Caching.AggregateCacheDependency aggDep = new System.Web.Caching.AggregateCacheDependency(); aggDep.Add(dep1); aggDep.Add(dep2); Cache.Insert("CacheItem5", "Cached Item 5", aggDep);
Dim dep1 As CacheDependency = _ New CacheDependency(Server.MapPath("XMLFile.xml")) Dim keyDependencies2 As String() = {"CacheItem1"} Dim dep2 As CacheDependency = _ New System.Web.Caching.CacheDependency(Nothing, _ keyDependencies2) Dim aggDep As AggregateCacheDependency = _ New System.Web.Caching.AggregateCacheDependency() aggDep.Add(dep1) aggDep.Add(dep2) Cache.Insert("CacheItem5", "Cached Item 5", aggDep)
Pour ajouter au cache un élément assorti de stratégies d'expiration
Appelez la méthode Insert, en lui passant une expiration absolue ou décalée.
L'exemple de code suivant ajoute un élément au cache avec une expiration absolue égale à une minute :
Cache.Insert("CacheItem6", "Cached Item 6", null, DateTime.Now.AddMinutes(1d), System.Web.Caching.Cache.NoSlidingExpiration);
Cache.Insert("CacheItem6", "Cached Item 6", _ Nothing, DateTime.Now.AddMinutes(1.0), _ TimeSpan.Zero)
L'exemple de code suivant ajoute un élément au cache avec une expiration décalée égale à 10 minutes :
Cache.Insert("CacheItem7", "Cached Item 7", null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, 10, 0));
Cache.Insert("CacheItem7", "Cached Item 7", _ Nothing, System.Web.Caching.Cache.NoAbsoluteExpiration, _ New TimeSpan(0, 10, 0))
Pour ajouter au cache un élément assorti de paramètres de priorité
Appelez la méthode Insert, en spécifiant une valeur de l'énumération CacheItemPriority.
L'exemple de code suivant ajoute un élément au cache avec une valeur de priorité de High :
Cache.Insert("CacheItem8", "Cached Item 8", null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.High, null);
Cache.Insert("CacheItem8", "Cached Item 8", _ Nothing, System.Web.Caching.Cache.NoAbsoluteExpiration, _ System.Web.Caching.Cache.NoSlidingExpiration, _ System.Web.Caching.CacheItemPriority.High, _ Nothing)
Pour ajouter un élément au cache à l'aide de la méthode Add
Appelez la méthode Add, qui retourne un objet représentant l'élément.
L'exemple de code suivant ajoute un élément au cache nommé CacheItem9 et affecte comme valeur à la CachedItem9 l'élément qui a été ajouté.
string CachedItem9 = (string)Cache.Add("CacheItem9", "Cached Item 9", null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, null);
Dim CachedItem9 As String = CStr(Cache.Add("CacheItem9", _ "Cached Item 9", Nothing, _ System.Web.Caching.Cache.NoAbsoluteExpiration, _ System.Web.Caching.Cache.NoSlidingExpiration, _ System.Web.Caching.CacheItemPriority.Default, _ Nothing))
Voir aussi
Tâches
Comment : supprimer des éléments du cache dans ASP.NET
Comment : avertir une application lorsqu'un élément est supprimé du cache
Comment : récupérer des valeurs d'éléments mis en cache
Concepts
Vue d'ensemble de la mise en cache ASP.NET
Mise en cache de données d'application
Mise en cache dans ASP.NET avec la classe SqlCacheDependency