2017-02-08 15 views
2

기본적으로 두 개의 개별 응용 프로그램을 사용하여 AppA 및 AppB로 만들 수 있습니다. 나는 캐시가 지금 별도의 응용 프로그램 도메인에서 실행되는 응용 프로그램간에 캐시 된 데이터를 공유하는 방법은 무엇입니까?

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

, 난이 값을 검색하려면 다음 응용 프로그램 "AppB"를 원하는 APPA

을 사용하여 추가 할 할

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

에서 사용할 수있는 캐시 기능을 구현 한

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

이 응용 프로그램은 다른 응용 프로그램 도메인에서 실행될 수 있습니다. 그렇지 않다면 아무도 나에게이 행동을 성취 할 수있는 다른 대안을 제안 할 수 있습니까?

+0

에 대한 자세한 내용을 확인할 수 있습니다. tcp 또는 No SQL 데이터베이스간에 공유되는 직렬화 된 데이터를 사용할 수도 있습니다. 필요에 따라 모두 공유 할 수 있습니다. – Vladimir

+0

현재 사용 가능한 예제가 있습니까? 나와 공유 할 수 있습니까? – ShresthaGanesh

+0

https://www.codeproject.com/Articles/12893/TCP-IP-Chat-Application-Using-C tcp 기반의 채팅 응용 프로그램입니다. – Vladimir

답변

3

여러 응용 프로그램에서 캐시에 액세스 할 수있는 분산 캐싱을 탐색해야합니다. Redis는 이러한 캐싱 공급자 중 하나입니다. Redis 캐시에 액세스 할 수있는 여러 .Net 클라이언트가 있습니다. StackExchange.Redis는 그러한 클라이언트 중 하나입니다. 자세한 내용은 StackExcange .Net Redis client 여기에서 how to install Redis on Windows

+0

동의합니다.하지만 여전히 옵션으로 tcp 연결을 고려합니다. – Vladimir

+0

분산 캐시 사용은 정답입니다.) 맞춤 TCP (이유?) 연결을 사용하여 직접 빌드하려고하지 마십시오. 추상화를 사용하여 Redis 클라이언트를 직접 처리하지 않을 수도 있습니다 (예 : http://cachemanager.net). – MichaC