【问题标题】:Possible to share cache item amongst multiple windows services?可以在多个 Windows 服务之间共享缓存项吗?
【发布时间】:2013-09-04 11:16:46
【问题描述】:

是否可以在多个 Windows 服务之间共享一个缓存项?

 List<GetPortedNumbersResult> col = (List<GetPortedNumbersResult>)result.ToList();

 var cache = MemoryCache.Default;
 CacheItemPolicy policy = new CacheItemPolicy();
 cache.Add(new CacheItem("PortedCol", col), policy);

【问题讨论】:

  • 是的。但是,您必须以不同的方式对其进行架构,即在单独的 Windows 服务中托管缓存并让您的其他 Windows 服务与之通信(可能通过 WCF 或类似的东西)...或使用专门制作的分布式缓存行 Memcached 或 Velocity等。

标签: c# caching windows-services asp.net-4.5 windows-server-2012


【解决方案1】:

Adrian Thompson Phillips 使用分布式缓存一针见血。我认为这将是您最好的选择。

我唯一要补充的是,我会考虑 App Fabric (http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx),因为它是 Microsoft 的分布式缓存版本。

您甚至可以在具有 Windows 服务的同一台机器上运行 App Fabric 节点。您不需要集群中的专用缓存节点。

【讨论】:

    猜你喜欢
    • 2012-11-28
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 2011-05-07
    • 1970-01-01
    相关资源
    最近更新 更多