我想在中等信任环境中使用依赖注入。为此,我选择了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'.
如果控制器没有控制器工厂,请确保它具有无参数的公共构造函数。”
知道如何让 Ninject 或任何其他 IoC 框架在中等信任下工作(意味着不使用反射)