代码之家  ›  专栏  ›  技术社区  ›  jonsequitur

通过IOC容器进行WCF服务实例化

  •  12
  • jonsequitur  · 技术社区  · 17 年前

    是否可以让wcf运行时通过ioc容器而不是通过其常规进程实例化服务?(同样,考虑到容器的类型生活方式配置和服务的InstanceContextBehavior之间可能存在冲突,这种方法会是一个糟糕的想法吗?)

    我知道我可能问错了问题。我的目标是通过容器提供的方法拦截工具(例如,方法进入/退出日志记录、性能计数和调用限制,所有这些都涉及我不希望插入到服务实现中的逻辑和依赖项)实现AOP方法。我认为WCF提供了其他的方法来处理这个问题,所以我也很想听听其他推荐的方法。

    2 回复  |  直到 13 年前
        1
  •  3
  •   Matt Dunn    17 年前

    是的,这里的实现同时使用了ObjectBuilder和Spring.net(如果您遵循链接的话还有更多!):

    http://www.infoq.com/news/2008/01/wcf-di

    但是不能评论生活方式和实例上下文行为交互。

    对于更多特定于WCF的方法,利用WCF行为概念(如上示例所示)可能也很有用。有几种不同的类型,这里有一个起点:

    http://mehranikoo.net/CS/archive/2007/02/22/WCFBehaviours.aspx

    干杯,
    马特

        2
  •  8
  •   Krzysztof Kozmic    15 年前

    简短的回答-是的,可能。

    请看一下城堡的WCF整合。它让您使用Castle Windsor进行WCF,这比只注入依赖项提供了更强大的功能。 最好使用后备箱版本 found here .关于它没有太多的文档,但是看看测试。它们很容易理解,并且将是一个很好的示例代码。 世界自然基金会的设施让你做的正是你所要求的那种东西。