如何在单独的应用程序域中运行的应用程序之间共享缓存数据?

时间:2017-02-08 10:11:38

标签: c# caching enterprise-library

基本上,我有两个独立的应用程序,让它们成为AppA和AppB。我已经实现了

中提供的缓存功能
 "Microsoft.Practices.EnterpriseLibrary.Caching.dll" and "Microsoft.Practices.EnterpriseLibrary.Common.dll".

我希望使用AppA

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

现在,我希望下一个应用程序“AppB”检索此值

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

是否可能因为这些应用程序在不同的应用程序域中运行。如果没有,任何人都可以建议我实现这种行为的其他替代方案吗?

1 个答案:

答案 0 :(得分:3)

您应该探索分布式缓存,这将允许您跨多个应用程序访问缓存。 Redis就是这样一个缓存提供者。有多个.Net客户端可用于访问Redis缓存。 StackExchange.Redis就是这样一个客户端。您可以在StackExcange .Net Redis client了解更多相关信息,在此您可以找到how to install Redis on Windows

的详细信息