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"

Global.asaxをWCFプロジェクトに追加しました

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 に答える