ASP. NET Ошибка внедрения основной зависимости: невозможно разрешить службу для типа «Пользователь с идентификационными данными» при попытке активировать «Пользователь с идентификационными данными» - PullRequest
0 голосов
/ 24 февраля 2020

Сообщение об ошибке выглядит следующим образом:

Путь / учетная запись / регистр вызвал исключение System.InvalidOperationException: невозможно разрешить службу для типа 'Microsoft.AspNetCore.Identity.IUserStore 1[Microsoft.AspNetCore.Identity.IdentityUser]' while attempting to activate 'Microsoft.AspNetCore.Identity.UserManager 1 [Microsoft.AspNetCore. Идентичность.

Я не могу понять, что вызывает это. Спасибо за любую помощь, спасибо!

    public class AccountController : Controller
    {
        private readonly UserManager<IdentityUser> userManager;
        private readonly SignInManager<IdentityUser> signInManager;

        public AccountController(UserManager<IdentityUser> userManager,
                                 SignInManager<IdentityUser> signInManager)
        {
            this.userManager = userManager;
            this.signInManager = signInManager;
        }

       [HttpGet]
        public IActionResult Register()
        {

            return View();
        }

        [HttpPost]
        public async Task<IActionResult> Register(RegisterViewModel model)
        {
            if(ModelState.IsValid)
            {
                var user = new IdentityUser { UserName = model.Email, Email = model.Email };
                var result = await userManager.CreateAsync(user, model.Password);

                if(result.Succeeded)
                {
                    // Persistend creates either session or permanent cookie
                    await signInManager.SignInAsync(user, isPersistent: false);
                    return RedirectToAction("index", "home");
                }

                foreach (var error in result.Errors)
                {
                    // Adding this to Modelstate goes to validation-summary in register.cshtml
                    ModelState.AddModelError("", error.Description);
                }
            }
            return View(model);
        }
    }

1 Ответ

1 голос
/ 24 февраля 2020

Хорошо, поэтому в классе запуска я изменил:

services.AddIdentity<IdentityUser, IdentityRole>();

на

services.AddIdentity<IdentityUser, IdentityRole>().AddEntityFrameworkStores<AppDbContext>();
...