я получаю следующее исключение при попытке настроить Unity с помощью Unity.Mvc5 с приложением MVC 5 с использованием Identity 2.0 и шаблона Identity 2.0 Samples. я прочитал этот SO Настройка Unity DI для ASP.NET Identity и я до сих пор не понимаю, что мне не хватает. Что я здесь делаю неправильно?
Текущий тип System.Data.Common.DbConnection является абстрактным классом и не может быть сконструирован. Вам не хватает сопоставления типов?
[ResolutionFailedException: Ошибка разрешения зависимости, type = "myApp.Web.Controllers.AccountController", name = "(none)". Исключение произошло во время: при разрешении.
Исключение: InvalidOperationException — текущий тип System.Data.Common.DbConnection является абстрактным классом и не может быть создан. Вам не хватает сопоставления типов?
На момент исключения контейнер был:
Разрешение myApp.Web.Controllers.AccountController, (нет) Разрешение параметра "userManager" конструктора myApp.Web.Controllers.AccountController (myApp.Web.Models.ApplicationUserManager userManager) Разрешение myApp.Web.Models.ApplicationUserManager, (нет) Разрешение параметра "хранилище" конструктора myApp.Web.Models.ApplicationUserManager(Microsoft.AspNet.Identity.IUserStore1[[myApp.Web.DAL.Profiles.ApplicationUser, myApp.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] store)
Resolving Microsoft.AspNet.Identity.EntityFramework.UserStore
1[myApp.Web.DAL.Profiles.ApplicationUser],(none) (сопоставлено с Microsoft.AspNet.Identity.IUserStore1[myApp.Web.DAL.Profiles.ApplicationUser], (none))
Resolving parameter "context" of constructor Microsoft.AspNet.Identity.EntityFramework.UserStore
1[[myApp.Web .DAL.Profiles.ApplicationUser, myApp.Web, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null]] (контекст System.Data.Entity.DbContext) Разрешение System.Data.Entity.DbContext, (нет) Разрешающий параметр «existingConnection» конструктора System.Data.Entity.DbContext(System.Data.Common.DbConnection existsConnection, модель System.Data.Entity.Infrastructure.DbCompiledModel, System.Boolean contextOwnsConnection) Разрешение System.Data.Common.DbConnection, (нет)
контроллер учетных записей, как я его модифицировал
public AccountController(ApplicationUserManager userManager)
{
_userManager = userManager;
}
private ApplicationUserManager _userManager;
контейнеры, которые я зарегистрировал
container.RegisterType<ApplicationUserManager>(new HierarchicalLifetimeManager());
container.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(new HierarchicalLifetimeManager());