2017-02-08 3 views
2

基本的に、私は2つの別々のアプリケーションをAppAとAppBにすることができます。私は今、私は次のアプリケーション「AppBを」は、この値を取得するために別のアプリケーションドメインで実行されているアプリケーション間でキャッシュされたデータを共有するにはどうすればよいですか?

var cacheManager = CacheFactory.GetCacheManager(); 
var data = cacheManager.GetData("SharedData"); 
たい私はキャッシュがAppAの

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

を使用して追加することにしたい

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

で利用可能なキャッシュ機能を実装しましたこれらのアプリケーションは異なるアプリケーションドメインで動作するため、

が可能です。誰も私にこの行動を達成するための他の選択肢を提案することはできませんか?

+0

tcpまたはNo SQLデータベース間で共有されるシリアル化されたデータを使用する可能性があります。 – Vladimir

+0

現在利用可能な例はありますか? – ShresthaGanesh

+0

https://www.codeproject.com/Articles/12893/TCP-IP-Chat-Application-Using-C チャットアプリケーションはtcpに基づいています。 – Vladimir

答えて

3

複数のアプリケーション間でキャッシュにアクセスできるようにする分散キャッシングを検討する必要があります。 Redisはそのようなキャッシングプロバイダの1つです。 Redisキャッシュにアクセスする複数の.Netクライアントがあります。 StackExchange.Redisはそのようなクライアントの1つです。ここで詳細を読むことができます。StackExcange .Net Redis clienthow to install Redis on Windows

+0

同意しますが、私はまだTCP接続をオプションとして考えています。 – Vladimir

+0

分散キャッシュの使用は正解です; カスタムTCP(なぜ?)接続で自分自身を構築しようとしないでください。 抽象化を使用して、Redisクライアントを直接処理することもできます(http://cachemanager.netなど)。 – MichaC

関連する問題