9

我目前在我的 WCF 服务中使用 Ninject (2.2.1.4) 和 Ninject.Extensions.Wcf (2.2.0.4)。我想升级到 Ninject (3.0.0.15) 和 Ninject.Extensions.Wcf (3.0.0.5),看起来我不能再使用我目前的方法了。谁能给我一些关于如何让最新版本的 Ninject 与 WCF 项目一起工作的示例或帖子。

我目前的做法:

我写了一个模块:

public class NinjectDependencyResolver : NinjectModule
{
    public override void Load()
    {
        // Declare bindings
    }
}

我将工厂属性添加到我的 .svc 文件中

Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory"

我在 WCF 项目中添加了 Global.asax

public class Global : NinjectWcfApplication
{
    protected override IKernel CreateKernel()
    {
        return new StandardKernel(new NinjectDependencyResolver());
    }
}

现在我可以修改我的服务中的默认构造函数并使用构造函数注入。

任何关于我如何升级的指示都表示赞赏。

谢谢

4

1 回答 1

12

添加 Ninject.Web.Common 并从 NinjectHttpApplication 派生或使用 NuGet 包附带的 App_Start 文件。

于 2012-04-30T23:25:32.553 回答