Я читаю эту книгу, и я, что бы я ни пытался, не могу заставить этот пример работать должным образом, так как он использует ninject, о котором я никогда даже не слышал, прежде чем я был бы признателен, если бы кто-нибудь мог помочь мне запустить его
Автор (ы) этой книги говорит, что я должен добавить новую папку (инфраструктуру) и добавить новый файл .cs (NinjectControllerFactory) в проект, а затем добавить следующий код к нему
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);
}
Если я пытаюсь отладитьу меня есть проблема, поскольку VS говорит, что я не могу переопределить этот метод.Я просто удалил переопределение и попытался запустить его снова, но снова у меня возникла проблема с этой строкой кода:
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
Мне пришлось добавить его global.aspx
-> Application_Start()
метод, но у меня естьпроблема, поскольку VS говорит, что я должен привести его к IControllerFactory
, поэтому я изменил его на
ControllerBuilder.Current
.SetControllerFactory(new NinjectControllerFactory() as IControllerFactory);
, но теперь я получаю ArgumentNullException
в этой строке.
Кто-нибудь знает, как я могу решить эту проблему?