Nous développons un projet qui implique environ 10 services WCF différents avec plusieurs points de terminaison chacun. Un des services garde quelques grandes tables de données mises en cache en mémoire.WCF: partage des données mises en cache sur plusieurs services
Nous avons constaté que nous avons besoin d'accéder à ces données d'un autre service. Plutôt que de garder 2 copies du cache, j'aimerais pouvoir partager ces tables sur tous les services.
Je l'ai fait quelques recherches et trouvé quelques articles sur l'utilisation d'un IExtension attaché aux servicehosts pour stocker les données partagées.
A condition que tous les services sont en cours d'exécution sous le même site web, cela fonctionnera? Et est-ce la bonne approche? Ou devrais-je regarder ailleurs?
Eh bien, c'est une application d'entreprise de taille moyenne. Je suis d'accord sur le point d'autonomie de service. À l'origine, les données devaient être lues à partir de DB à partir de plusieurs services, mais en raison des problèmes de performances, nous souhaitons les déplacer vers un cache en mémoire. Les données sont «essentielles» à de nombreux services. sens. –
Merci pour la clarification. Personnellement, je vais certainement encapsuler le cache dans un autre service et mettre en œuvre les appels de service à service. Je vais mettre à jour ma réponse en conséquence. – razlebe
Tout est correct, mais avec tout le respect, c'est un point de vue trop schématique. Au moins, je connais un type d'interaction entre services qui ne devrait pas être fait comme "service habituel": validation de jeton de sécurité (si nous allons le faire sur la couche application) entre la méthode de service et le fournisseur de jeton de sécurité liste des jetons valides). La même chose est sur la journalisation, la journalisation est quelque chose de spécial. Si vous vous connectez par le même bus d'entreprise, vous pouvez facilement le détruire. –