中信頼環境で依存関係注入を使いたいです。その目的のために、私はNinjectを選びました。コントローラーへの注入をどのようにセットアップするのですか?私はカスタムコントローラファクトリを作成しようとしたMVCコントローラの問題+媒体依存の依存関係注入(Ninject)
:
public class NinjectControllerFactory : DefaultControllerFactory
{
private readonly IKernel _kernel;
public NinjectControllerFactory(params IModule[] modules)
{
_kernel = new StandardKernel(modules);
}
public override IController CreateController(System.Web.Routing.RequestContext requestContext, string controllerName)
{
IController controller = base.CreateController(requestContext, controllerName);
_kernel.Inject(controller);
return controller;
}
}
しかし、私はこのエラーに遭遇しています:
System.InvalidOperationException was unhandled by user code Message="An error occurred while creating a controller of type 'xxx'.
If the controller doesn't have a controller factory, ensure that it has a parameterless public constructor."
Ninjectまたはその他のIoCフレームワークが中の下で働いて得るためにどのように任意のアイデア信頼(反射を使用しないことを意味します)
私はninject 2を使用していました。Ninject.Web.Mvcは中程度の信頼性のfirendly – Dan