2012-07-09 2 views
0

Ainsi, dans mon service WCF, je vais la mise en cache des données si les futurs appels au service peuvent obtenir ces données.Comment mettre en cache dans WCF multithread

Quelle est la meilleure façon pour WCF de mettre en cache des données? comment va-t-on faire ça? si cela aide, le service WCF est multithread (le mode simultané est multiple) et ReleaseServiceInstanceOnTransactionComplete est défini sur false. Le premier appel pour récupérer ces données peut ne pas exister, donc il ira chercher des données d'une source (pourrait être DB, pourrait être un fichier, pourrait être n'importe où), mais par la suite il devrait le mettre en cache et être mis à disposition (idéalement avec un système d'expiration pour l'objet)

pensées?

Répondre

1

Certaines des solutions les plus courantes pour un service WCF semblent être:

Essayez de lire Caching Solutions

+0

Merci. En effet, je pensais à appfabric. Qu'en est-il de l'utilisation du gestionnaire de cache dans l'espace de noms system.runtime? Apparemment, c'est à peu près le même que le cache ASP.NET, mais fait pour WCF, donc vous n'êtes pas lié à HttpRuntime –

1

Une application SOA peut 't scal e efficacement lorsque les données qu'il utilise sont conservées dans un stockage qui n'est pas évolutif pour les transactions fréquentes. C'est là que la mise en cache distribuée aide vraiment. Pour revenir à votre question et sa réponse par ErnieL, voici une brève comparaison de ces solutions,

En ce qui concerne Memcached, Si votre application doit fonctionner sur un cluster de machines, il est très probable que vous allez Bénéficiez d'un cache distribué, cependant si votre application n'a besoin que de s'exécuter sur une seule machine, vous n'aurez aucun avantage à utiliser un cache distribué et vous ferez probablement mieux d'utiliser le cache .Net intégré. L'accès à un cache memcached nécessite une communication interprocessus/réseau, ce qui aura une légère incidence sur les performances des caches .Net en cours de traitement. Memcached fonctionne comme un processus/service externe, ce qui signifie que vous devez installer/exécuter ce service dans votre environnement de production. Encore une fois, les caches .Net n'ont pas besoin de cette étape car ils sont hébergés en cours de processus.

si l'on compare les caractéristiques de NCache et AppFabric, les gens ncache sont très confiants dans la gamme de fonctionnalités qu'ils ve par rapport à AppFabric. vous pouvez trouver suffisamment de matériel ici concernant la comparaison de ces deux produits, comme celui-ci ......

http://distributedcaching.blog.com/2011/05/26/ncache-features-that-app-fabric-does-not-have/

Questions connexes