【发布时间】:2011-04-26 13:11:42
【问题描述】:
我们目前使用 Enterprise Library Policy Injection 来缓存我们的数据访问存储库,例如
公共接口 IClientStatusRepository { [CachingCallHandler(24, 0, 0)] IList GetAll(); }
var clientStatusRepository = PolicyInjection.Wrap(new ClientStatusRepository());
这对我们很有效,因为它是声明性的并且绝对不涉及任何配置文件。它也隐藏在我们自己的工厂模式后面,因此很容易更换。
我们已经开始寻找替代解决方案。寻找替代方案的主要原因是我们意识到我们需要改变它当前使 asp.net 缓存中的内容过期的方式。此外,我们希望引入分布式缓存(MemCached 或 AppFabric)并希望能够以声明方式从缓存中驱逐对象
任何人都可以提出一些他们理想地与分布式缓存一起使用的替代方案。如果解决方案需要每个类的配置,它将被自动排除。方面必须在代码中声明。
谢谢
克雷格
【问题讨论】:
标签: caching enterprise-library code-injection appfabric policy