通过 IoC 容器实例化 WCF 服务

标签 wcf inversion-of-control

能否让 WCF 运行时通过 IoC 容器而不是通过其通常的过程来实例化服务? (此外,考虑到类型的容器生活方式配置与服务的 InstanceContextBehavior 之间存在潜在冲突,这种方法是否是一个糟糕的主意?)

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

最佳答案

是的,这里有使用 ObjectBuilder 和 Spring.NET 的实现(如果你点击链接,还有更多!):

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

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

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

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

干杯,
马特

关于通过 IoC 容器实例化 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/399072/

相关文章:

web-services - 为简单的 WCF 服务打开基本身份验证?

.net - 使用 MSMQ - System.Messaging 与 WCF

xml - IoC/依赖注入(inject) - 请解释代码与 XML

c# - 如何使用运行时参数轻松管理适配器和/或装饰器?

c# - 多表 CRUD 中的 WCF 错误

asp.net - 如何在浏览器中查看wcf服务

wcf - 请求和响应对象以及 WCF 版本控制

c#-4.0 - 这是从域模型中实例化具有依赖关系的对象的正确方法吗?

c# - 依赖注入(inject)初始化

c# - 将依赖项注入(inject)动态加载的 .dll (.net core)