ASP.Net MVC3プロジェクトでNinject(3.0)を使用しています。リクエスト処理のある時点で、いくつかのタスクを実行したいと思います。
リクエストごとのセッションパターンを使用していますが、これらのタスクが現在のリクエストと同じセッションを共有することを望んでいません。だから、ChildKernelsがこの問題を解決するのに役立つと思いました。子カーネルでISessionの別のバインディングを作成しようとしましたが、それから始めました。
var child = new Ninject.Extensions.ChildKernel.ChildKernel(NinjectMVC3.Kernel);
child.Dispose();
リクエスト中にそのようなコードを実行すると、リクエストの最後にError loading Ninject component ICache
例外が発生します(呼び出し時ではありません)。私がすべてを削除すれば大丈夫です。.Dispose()
child.Dispose()
だから、私はChildKernelを使う正しい方法を選んでいますか?子カーネルを明示的に破棄せずに使用しても安全ですか?子カーネルを破棄した場合、なぜNinjectがリクエストの最後にスローするのですか?