Je rencontre un problème lors de l'utilisation de la fonctionnalité Asp.Net Cache. J'ajoute un objet au cache puis à un autre moment je reçois cet objet du cache, modifie l'une de ses propriétés puis enregistre les modifications dans la base de données. Mais, la prochaine fois que j'obtiens l'objet de Cache, il contient les valeurs changées. Donc, quand je modifie l'objet, il modifie la version qui est contenue dans le cache même si je ne l'ai pas mis à jour dans le cache spécifiquement. Est-ce que quelqu'un sait comment je peux obtenir un objet du cache qui ne fait pas référence à la version en cache?Asp.Net Cache, modifier un objet à partir du cache et il modifie la valeur mise en cache
-à-dire
Étape 1:
Item item = new Item();
item.Title = "Test";
Cache.Insert("Test", item, null, DateTime.Now.AddHours(1), System.Web.Caching.Cache.NoSlidingExpiration);
Étape 2:
Item item = (Item)Cache.Get("test");
item.Title = "Test 1";
Étape 3:
Item item = (Item)Cache.Get("test");
if(item.Title == "Test 1"){
Response.Write("Object has been changed in the Cache.");
}
Je me rends compte que l'exemple ci-dessus, il serait logique que tous les changements à l'article se reflète dans la mémoire cache, mais ma situation est un peu plus compliquée et je ne veux vraiment pas que cela se produise.
Peut-être 'Item' est un' struct'? Un exemple de code complet serait utile ... –