Ninject MVCソースコードを調べていましたが、デフォルトを上書きするコントローラファクトリを生成するメソッドはNinjectControllerFactoryを返すようにハードコードされています。それはIControllerFactoryを使うほうが理にかなっています。なぜNinject MVC NinjectHttpApplicationがCreateControllerFactory()用にIControllerFactoryを使用しないのですか
/// <summary>
/// Creates the controller factory that is used to create the controllers.
/// </summary>
/// <returns>The created controller factory.</returns>
protected virtual NinjectControllerFactory CreateControllerFactory()
{
return new NinjectControllerFactory(this.Kernel);
}
私はNinjectを愛し、私はそれがこのように行われていた理由がある確信しているが、私は私自身のControllerFactoryを書いて、それを使用する必要があり、現時点では問題を抱えているのではなく、まだ使用しますNinjectHttpApplication。私はちょうどNinjectControllerFactoryから継承することができ、この新しいインスタンスを返すメソッドをオーバーライドすることができますが、Ninjectフレーバーの機能を使用していないので、ちょうどそれが臭いのビットになるようです...
IControllerを使用しない理由があるのですか?これは新しいバージョンで変更される可能性がありますか?
Ninject V 2.2.0.0に対する最新のビルドのためのソースコードは、まだControllerFactoryを使用しています。私がばかだとMVC2バージョンのものを持っていない限り。あなたがDependencyResolverを使用していなかったのは奇妙だと思っていました。 gitでソースをチェックし、今は問題ではないことを認識しました。 – Grofit