2017-02-08 2 views
2

Fondamentalement, j'ai deux applications distinctes permettent d'être AppA et AppB. Je l'ai mis en œuvre la fonction de cache disponible dansComment partager des données mises en cache entre l'application exécutée dans un domaine d'application distinct?

"Microsoft.Practices.EnterpriseLibrary.Caching.dll" and "Microsoft.Practices.EnterpriseLibrary.Common.dll". 

Je veux un cache à ajouter à l'aide AppA

var cacheManager = CacheFactory.GetCacheManager(); 
cacheManager.Add("SharedData","Data from AppA"); 

maintenant, je veux la prochaine application "AppB" pour récupérer cette valeur

var cacheManager = CacheFactory.GetCacheManager(); 
var data = cacheManager.GetData("SharedData"); 

est-ce possible car ces applications s'exécutent dans différents domaines d'application. Si non, quelqu'un peut-il me suggérer une autre alternative pour réaliser ce comportement?

+0

Peut utiliser des données sérialisées partagées entre tcp, ou aucune base de données SQL - tout dépend de vos besoins. – Vladimir

+0

est-il des exemples actuellement disponibles si oui pouvez-vous s'il vous plaît le partager avec moi? – ShresthaGanesh

+0

https://www.codeproject.com/Articles/12893/TCP-IP-Chat-Application-Using-C Application de conversation basée sur tcp. – Vladimir

Répondre

3

Vous devez explorer la mise en cache distribuée, ce qui vous permettra d'accéder au cache sur plusieurs applications. Redis est l'un de ces fournisseurs de mise en cache. Plusieurs clients .Net sont disponibles pour accéder au cache Redis. StackExchange.Redis est un tel client. Vous pouvez en lire plus à ce sujet ici StackExcange .Net Redis client et ici vous pouvez trouver des détails sur how to install Redis on Windows

+0

D'accord, bien que je considère toujours la connexion tcp comme une option. – Vladimir

+0

L'utilisation du cache distribué est la bonne réponse;) N'essayez jamais de le créer vous-même avec des connexions TCP personnalisées (pourquoi?). vous pouvez également utiliser des abstractions pour ne pas traiter directement avec le client Redis, comme http://cachemanager.net – MichaC