【问题标题】:Caching WCF client-side with .NET4使用 .NET4 缓存 WCF 客户端
【发布时间】:2015-02-07 06:52:50
【问题描述】:

我有一组将从服务中检索的实体。 其中一些是静态的,所以我决定创建一个客户端缓存。 但我找不到插入缓存的点。我有 svcutil 生成的代理,我需要为其中一些(不是全部)启用缓存。 我的意思是建立一些机制,可以在 channelFactory/clientBase 级别工作,并缓存所有需要的实体。

我想要什么:

  • 透明缓存,无需更改业务逻辑(共同或根本)

  • 使用某种属性配置可缓存实体:[Cacheable]

  • 能够添加缓存实现:MemoryCache、DistributedCache

【问题讨论】:

    标签: wcf caching client-side


    【解决方案1】:

    然而,在服务上使用IOperationInvoker 创建缓存属性非常容易(查看示例here),但在客户端却很难做到。

    我见过的最好的例子是来自 Paolo Salvatori,here。很好的解决方案,但由于复杂性,我最终放弃了。我把自己变成了 WCF 调用的通用包装器。仍然有手动任务,但它更简单,我可以轻松管理它。

    【讨论】:

      【解决方案2】:

      使用 Castle Windsor 集成工具进行缓存怎么样?您可以拦截并实现缓存客户端(我做到了)。弱点:我认为这个项目没有很好的文档记录,而且我真的不知道它有多活跃。

      http://docs.castleproject.org/Windsor.WCF-Integration-Facility.ashx

      【讨论】:

        猜你喜欢
        • 2012-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-30
        • 1970-01-01
        • 2017-01-19
        • 2017-03-18
        相关资源
        最近更新 更多