J'ai un référentiel qui extrait à la fois la base de données et parfois un cache.Problème httpcache
Pour implémenter cela, j'ai créé une interface ICacheWrapper qui permet au référentiel d'utiliser HttpRuntime.Cache, AppFabric, peu importe. classes concrètes de la ICacheWrapper prennent généralement le cache dans leur constructeur comme ceci: nouveau HttpCacheWrapper (HttpRuntime.Cache)
Le constructeur de la mise en pension prend une référence à une enveloppe de cache comme ceci:
myRepo = new Repo(new HttpCacheWrapper(HttpRuntime.Cache));
Si je crée 2 repos, le cache est-il profondément copié? Je ne le pense pas, mais nos problèmes de performance indiquent le contraire. Ai-je manqué quelque chose ici?
Merci pour toute aide!
Les résultats d'un peu plus de recherche/refactoring: Il semble que les listes de choses qui sont extraites du cache soient servies à partir d'un seul cache, ce qui est bon. Cette liste est filtrée pour répondre aux besoins du formulaire Web qui l'a demandé. Ensuite, la liste filtrée est liée à l'interface Web. Ce qui semble se passer, c'est que la liste filtrée est créée en plus de la liste mise en cache et que ni l'une ni l'autre ne sont promptement modifiées. –