Согласно этому руководству , чтобы использовать Ninject в моем приложении Asp.net MVC 3, все, что мне нужно сделать, это установить пакет через Nuget и настроить зависимости.
Выполните следующие действия
Установить Package-Ninject.MVC3
In NinjectMVC3.cs
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IReCaptchaValidator>().To<ReCaptchaValidate>();
}
In Контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Registe(RegisterModel model)
{
var myObject = DependencyResolver.Current.GetService<IReCaptchaValidator>(); //always null
}
myObject
всегда возвращает ноль.
Я пробовал kernel.Bind<IReCaptchaValidator>().To<ReCaptchaValidate>().InRequestScope()
, но не действует!
myObject
продолжается ноль
В этом посте здесь, в StackOverflow, мне сказали использовать DependencyResolver.Current.GetService(TYPE)
для извлечения экземпляра объекта.