Ninject v3 を使用して、.NET4 Windows サービス ( System.ServiceProcess.ServiceBase) 内でホストされている Web サービスをテストしようとしています。
を作成しMyServerModule : NinjectModule、その中で、設定Load()に基づいてインターフェイスをランタイム オブジェクトに条件付きでバインドしapp.configます。
の初期化手順は次のとおりです。まず、インスタンスに基づいてServiceBase.OnStart()新しいを作成し、それを Ninject コンテナに関連付けます。次に、サービス クラスに基づいてのインスタンスを作成し、サービス ホストを開いてリッスンを開始します。StandardKernelMyServerModuleNinjectServiceHost
Ninject v2 では、コードは次のとおりです。
IKernel kernel = new StandardKernel(new MyServerModule());
KernelContainer.Kernel = kernel;
NinjectServiceHost serviceHost = new NinjectServiceHost(typeof(MyService));
serviceHost.Open();
ただし、Ninject v3 ではKernelContainer存在しなくなりました。さらに、NinjectServiceHost()をサブクラス化するサーバー ファクトリを受け入れるようになりましたIServiceBehavior。
Ninject v3 で同様の初期化手順を実行するにはどうすればよいですか?