6
votes

Mise en œuvre du cache ASP.NET SIMPLE C # ASP.NET

Je dois construire une liste et mettre en cache la liste et pouvoir y ajouter. J'ai aussi besoin de pouvoir lui échapper facilement et de le recréer. Quel est un moyen simple d'accomplir cela?


1 commentaires

Gardez à l'esprit que votre liste ne sera pas en sécurité.


3 Réponses :


2
votes

Ce tutoriel est ce que j'ai trouvé utile

  • ASP.NET CACHING fonctionnalités forte> ul>

    Voici un exemple P>

    List<object> list = new List<Object>();
    
    Cache["ObjectList"] = list;                 // add
    list = ( List<object>) Cache["ObjectList"]; // retrieve
    Cache.Remove("ObjectList");                 // remove
    


0 commentaires

18
votes

Quelque chose comme ça peut-être? XXX PRE>

TA COMMANDE ..... P>

// Get an instance
var listCache = new MyListCache();

// Add something
listCache.MyList.Add(someObject);

// Enumerate
foreach(var o in listCache.MyList) {
  Console.WriteLine(o.ToString());
}  

// Blow it away
listCache.ClearList();


3 commentaires

Bien ... réparable. Mais je ferais des changements. Principalement, je retournerais toujours une liste valide. Si cela n'existe pas, créez une nouvelle collection vide et mettez-la en cache, plutôt que de revenir à ce que ce soit dans le cache ["myList"], qui pourrait être null.


Oui Bryan, cet exemple est assez simple. - Mais j'ai pris votre suggestion à cœur et j'ai mis à jour mon échantillon. Merci.


Dans de nombreux et les plus réels scénarios mondiaux, vous voudrez rincez des modifications à une sorte de stockage persistant.



0
votes

Les parties de mise en cache de "Appeleurs de traçabilité et de mise en cache pour l'embrayage d'entité" , tandis que Pas simple, reste toujours un très bon examen de certaines choses utiles à réfléchir à la mise en cache.

Spécifiquement, les deux classes inmemorycache et aspnetcache et leurs tests associés:

  • iCache
  • inMemoryCache et tests
  • AspnetCache

    similaire à la question de la question, vous pouvez envelopper httpruntime.cache ou httpcontext.current.items ou httpcontext.current.cache une implémentation de icache .


0 commentaires