私はMVC NinjectHttpApplicationを使用しています。私は基本クラス(ControllerBase)から継承するいくつかのコントローラを持っています。基本クラスはイベントを公開します。 Ninjectがコントローラーを初期化するときに、各具体的なコントローラーインスタンスに共通のイベントハンドラーを登録する必要があります。ような何か:NinjectHttpApplicationコントローライベント登録
var eventHandler = new EventHandlingObject();
foreach (var controller in kernel.GetAll<ControllerBase>())
{
controller.SomeEvent += eventHandler.HandlingMethod;
}
は私がイベントまで、コントローラのインスタンス化とワイヤーを傍受することができますStandardKernelに任意のフックがありますか?ノーならば、私はそれらを反復処理し、それぞれのイベントを登録することができるように
kernel.Load(Assembly.GetExecutingAssembly());
への呼び出しに登録されたコントローラのすべてを取得する方法はありますか?
誤解部分では対処できません。私の元の実装では、基本コントローラだけが使用していた多くの依存関係が注入されており、継承するコントローラには同じコンストラクタを実装する必要があります。私はそれを集約コンストラクタかプロパティー注入のどちらかを使って別のものにします。 –