I’m reading this book and I no matter what I try I cannot make this example run properly as it uses ninject I have never even heard of before I would appreciate if someone could help me get it running
Author(s) of this book says that I should add new folder (infrastructure) and add new .cs file (NinjectControllerFactory) to project and then add following code to it
private IKernel ninjectKernel;
public NinjectControllerFactory()
{
ninjectKernel = new StandardKernel();
AddBindings();
}
//problem with override
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
return controllerType == null
? null
: (IController) ninjectKernel.Get(controllerType);
}
If I try to debug it I have a problem as VS says that I cannot override that method. I have simply removed override and tried to run it again but once again I have a problem with this line of code:
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
I had to add it global.aspx -> Application_Start() method but I have a problem as VS says that I have to cast it to IControllerFactory so i have modified it to
ControllerBuilder.Current
.SetControllerFactory(new NinjectControllerFactory() as IControllerFactory);
but now I get ArgumentNullException on that line.
Anyone know how can I fix this problem?
You either want to
(although it looks like they use a different mechanism for MVC3?)