【问题标题】:How to use unity IoC container [duplicate]如何使用统一 IoC 容器 [重复]
【发布时间】:2012-01-24 03:18:22
【问题描述】:

可能重复:
Unity Dependency Injection for WCF services
Using Unity Dependency Injection with WCF services

我是 Unity IoC Container 的新手。我正在开发 WCF 应用程序(托管在 IIS 上)。我想使用 Unity 来注入像记录器、数据库等对象...

据我所知,容器需要在应用程序启动时注册...我在 WCF 哪里可以做到这一点?

设置完成后,如何在 WCF 应用程序中引用它?我的意思是我是否将其设为静态或类似的东西?

【问题讨论】:

标签: .net wcf inversion-of-control unity-container


【解决方案1】:

WCF 以及任何其他基于 http 或基于请求的应用程序都明显不同于标准 UI 应用程序。在您的应用程序收到第一个请求之前,不会初始化您的 IOC 容器,因此您必须采取一些不同的方式。

对于托管在 IIS 中的标准 WCF 应用程序,最简单的方法是通过 HTTP 模块在第一次收到请求时初始化 Unity 容器。但是,如果您要正确地做事,您应该研究一个自定义 InstanceProvider 类,该类将允许 Unity 提供 WCF 服务实现的实例,而不是让一个使用 Unity 检索其依赖组件的单一 WCF 类。

我自己对 Unity 不太了解——我更喜欢 Ninject 和 StructureMap——但一些快速的谷歌搜索导致了这个链接:http://initializecomponent.blogspot.com/2008/06/integrating-unity-with-wcf.html。看起来有人已经为您完成了大部分繁重的工作。 :)

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 2016-03-24
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    相关资源
    最近更新 更多