我有一组将从服务中检索的实体。其中一些是静态的,所以我决定创建一个客户端缓存。但我找不到插入缓存的点。我有 svcutil 生成的代理,我需要为其中一些(不是全部)启用缓存。我的观点是建立一些机制,该机制将在 channelFactory/clientBase 级别工作,并将缓存所有必需的实体。
我想要的是:
无需更改业务逻辑的透明缓存(共同或根本)
使用某种属性配置可缓存实体:[Cacheable]
添加缓存实现的能力:MemoryCache、DistributedCache
我有一组将从服务中检索的实体。其中一些是静态的,所以我决定创建一个客户端缓存。但我找不到插入缓存的点。我有 svcutil 生成的代理,我需要为其中一些(不是全部)启用缓存。我的观点是建立一些机制,该机制将在 channelFactory/clientBase 级别工作,并将缓存所有必需的实体。
我想要的是:
无需更改业务逻辑的透明缓存(共同或根本)
使用某种属性配置可缓存实体:[Cacheable]
添加缓存实现的能力:MemoryCache、DistributedCache
使用 Castle Windsor 集成设施进行缓存怎么样?您可以拦截并实现缓存客户端(我做到了)。弱点:我认为这个项目没有很好的文档记录,而且我真的不知道它有多活跃。
http://docs.castleproject.org/Windsor.WCF-Integration-Facility.ashx