У меня есть старая базовая идентификационная база данных asp.net, и я хочу создать для нее новый проект (веб-api).Идентификатор ядра ASP.NET не вставляет UserManager <ApplicationUser>
Только для теста я скопировал папку «Модели» и файл ApplicationUser из предыдущего проекта (ApplicationUser просто наследует от IdentityUser, никаких изменений вообще) - делать БД сначала кажется плохой идеей.
Я регистрации Идентичность в ConfigureServices (но я не добавляя его к трубопроводу, так как мое единственное намерение состоит в том, чтобы использовать UserStore)
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
Я ожидаю, что теперь
UserManager<ApplicationUser>
... должен автоматически вводиться в конструкторы.
Однако при добавлении к контроллеру следующего кода private UserManager _userManager;
public UserController(UserManager<ApplicationUser> userManager)
{
_userManager = userManager;
}
... каждый вызов API заканчивается исключением: HttpRequestException: Ответ код состояния не указывает на успех: 500 (Внутренняя ошибка сервера).
Удаление кода «инъекции» приводит к плавному запуску веб-api, который может принимать запросы.
Трудно отлаживать, поскольку это происходит до того, как какой-либо из моих кодов достигнут. Любая идея, почему это происходит?
P.S. После включения все исключения из окна настройки исключений Я получил это один:
Исключение брошено: «System.InvalidOperationException» в
Microsoft.Extensions.DependencyInjection.dllДополнительная информация: Не удается разрешить услугу type 'Namespace.Data.ApplicationDbContext' при попытке активировать 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`4 [Пространство имен.Модели. ApplicationUser, Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityRole, пространство имен.Data.ApplicationDbContext, System.String] '.
добавить полную ошибку –