通过IoC容器实例化WCF服务

通过IoC容器实例化WCF服务,wcf,inversion-of-control,Wcf,Inversion Of Control,WCF运行时是否可以通过IoC容器而不是通常的流程实例化服务?(另外,考虑到该类型的容器的生活方式配置与该服务的InstanceContextBehavior之间可能存在冲突,这种方法会是一个糟糕的想法吗?) 我知道我可能问错了问题。我的目标是通过容器提供的方法拦截功能实现AOP方法(例如,方法进入/退出日志记录、性能计数和调用限制,所有这些都涉及我不想插入到服务实现中的逻辑和依赖项)。我想WCF提供了其他方法来实现这一点,因此我也很想听到其他推荐的方法。是的,下面是使用ObjectBuilde

WCF运行时是否可以通过IoC容器而不是通常的流程实例化服务?(另外,考虑到该类型的容器的生活方式配置与该服务的InstanceContextBehavior之间可能存在冲突,这种方法会是一个糟糕的想法吗?)


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

是的,下面是使用ObjectBuilder和Spring.NET的实现(如果您遵循链接,还可以提供更多的实现!):

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

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

干杯,

马特

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

请看一下Castle WCF集成。它让您可以将Castle Windsor用于WCF,这为您提供了比注入依赖项更强大的功能。 最好使用主干版本。关于它没有太多的文档,但是看看测试。它们很容易理解,将是一个很好的示例代码。
WCF facility可以让您完全按照您所要求的方式进行思考。

不知道Spring支持有多好,但除非您有充分的理由,否则您不想使用ObjectBuilder。其他工具的功能更强大。第二个链接已经坏了。