すでに別のHttpApplicationの派生クラスを拡張しているので、私の考えは、NinjectHttpApplicationクラスから関連するソースコードをただコピーすることです拡張されたHttpApplicationクラスに追加します。切り取って貼り付けるのではなく、Ninject2 Ninject.Web.Mvc拡張プロジェクトhereにNinjectHttpApplicationのsourceを見てください。
私は、具体的のApplication_Start()とApplication_Stop()方法でものをコピーします。コントローラを登録するための他の方法はいいですが、あなたはコントローラを登録することができます。 Application_Start()にカーネルを作成するには、純粋な仮想関数CreateKernel()を呼び出して作成します。カーネルはインラインで作成することができます。さらに、NinjectHttpApplicationクラスにKernelプロパティが存在することに注意してください。これを自分のクラスにもコピーします。ここでは、HttpApplicationから派生したクラスがKernelContainerとして効果的に機能することが意図されています。
免責事項:私はすぐにでも動作するかどうかを確認するためにこれを試していません。私はWebプロジェクトでNinject 1.xを使用し、近い将来にNinject 2にアップグレードするつもりです。しかし、おそらくNinjectHtppApplicationから直接派生することができます。がんばろう!
NinjectHttpApplicationを拡張したくない理由は何ですか? –
私は既に別のカスタムHttpApplicationを拡張しています – joshcomley