Я пытаюсь внедрить в мои службы UserManager, RoleManager и мою базу данных (Entity Framework), чтобы получить его с помощью провайдера инфраструктуры (моего собственного).Я внедряю базу данных так:
services.AddDbContext<IdentityDbContext>(options =>
options.UseSqlServer(
FrameworkBase.Construction.Configuration.GetConnectionString(
"InternalUsersDatabaseConnection")));
"FrameworkBase.Construction" - это свойство, которое я создал.Каркас работает следующим образом: он получает все сервисы, внедренные в сервер, и возвращает экземпляр singleton / transient / scoped
. Вот как я получаю экземпляр RoleManager:
public static RoleManager<ApplicationRole> RoleManager =>
FrameworkBase.Provider.GetService<RoleManager<ApplicationRole>>();
И вот как я регистрирую его в сервисах:
services.AddIdentity<ApplicationUser, ApplicationRole>()
.AddEntityFrameworkStores<BittureIdentityDbContext>()
// Here
.AddUserManager<ExtendUserManager>()
.AddRoleManager<RoleManager<ApplicationRole>>()
.AddDefaultTokenProviders();
Есть ли заметная ошибка?