Я использую Ninject в проекте MVC 5 с Identity 2.
Для остальной части контекста данных и контроллеров, использующих это, у меня нет проблем с внедрением зависимостей.
Для контроллера учетной записи, использующего модель Identity 2, я получаю null UserManager при попытке войти в систему:
public class AccountController : Controller
{
private ApplicationUserManager _userManager;
public AccountController()
{
}
public AccountController(ApplicationUserManager userManager)
{
UserManager = userManager;
}
public ApplicationUserManager UserManager {
get
{
return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set
{
_userManager = value;
}
}
Каков правильный способ внедрения необходимых зависимостей? Я не создавал собственный UserManager, это стандартная модель, ApplicationUserManager определен в IdentityConfig.cs в разделе App_Start.
В качестве примечания: я использую расширение соглашений Ninject:
private static void RegisterServices(IKernel kernel)
{
kernel.Bind(
x => x.FromThisAssembly()
.SelectAllClasses()
.BindAllInterfaces()
);
Спасибо.