J'essaie d'utiliser le cache, mais j'ai l'erreur ci-dessous. Comment utiliser correctement le cache?
protected void Page_Load(object sender, EventArgs e) {
x = System.DateTime.Now.ToString();
if (Cache["ModifiedOn"] == null) { // first time so no key/value in Cache
Cache.Insert("ModifiedOn", x); // inserts the key/value pair "Modified On", x
}
else { // Key/value pair already exists in the cache
x = Cache["ModifiedOn"].ToString();
} }
'System.Web.Caching.Cache' est un 'type' mais est utilisé comme une 'variable'
System.Web.Caching.Cache
: il s'agit de la mise en œuvre de la mise en cache .NET.
System.Web.HttpContext.Current.Cache
: il s'agit de l'instance de cette implémentation, qui réside dans le domaine d'application.
Je pense que vous voulez utiliser le second si vous n'êtes pas dans le code derrière une page aspx. Utilisez Cache si vous êtes dans le code derrière une page aspx.
Vous pouvez également utiliser directement Page.Cache.Insert
avec une référence au System.Caching.Cache
via l'objet de page. Tout cela pointe vers le même cache d'application qui est global pour tous les utilisateurs.
Avoir quelque part que la classe stocke le HttpContext lorsqu’elle est initialisée par new ou avec une méthode Init()
Puis utilisez le HttpContext.Current.Cache
Ou: Créez des méthodes pour lire et écrire dans le cache avec un paramètre currentcache
, et documentez-le avec un exemple de code où il est appelé avec HttpContext.Current.Cache