初めてサービスを呼び出すとすべて正常に動作します。その後、私はこのエラーを受け取ります: "NinjectコンポーネントICacheの読み込み中にエラーが発生しました。\ r \ nそのようなコンポーネントはカーネルのコンポーネントコンテナに登録されていません。「NinjectコンポーネントICacheの読み込み中にエラーが発生しました」というメッセージが2回目に表示されます
私が呼び出すコントローラはIKernelをコンストラクタのパラメータとして持っています。これは問題であることを
私は私のサービスにカーネルオブジェクトを渡すことが出来るのですか
私のコントローラのコンストラクタ:。?私のGlobal.asaxファイルの
public MyController(IKernel diContainer)
{
_diContainer = diContainer;
}
パート:
var kernel = NinjectWebApi.Kernel;
kernel.Bind<IMyController().To<MyController();
//Set the dependency resolver to use ninject
GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel);
私はNinject 3.2を使用しています。
サービスにカーネルを渡していない私の他のサービスでは、このアプローチはうまくいきます。
NinjectDependencyResolverを手動で書き込んだり、準備ができていますか? –
NinjectDependencyResolverがデフォルトのオブジェクトではないことに気付きました。これは私の同僚が作ったものです。その名前は私に、それが鼻水から来ていると思うようにしました。これは調査する価値があるかもしれません。 – jimmy