Получение объекта ApplicationUser в контроллере

Я пишу интернет-приложение на C# MVC5 и у меня возникают проблемы с получением ApplicationUser объект в контроллере, который я создал.

Вот мой код:

var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserId()).Result;

Когда я пытаюсь запустить этот код, когда пользователь вошел в систему, я получаю нулевой объект для ApplicationUser пользователь.

Могу ли я помочь с этим?

заранее спасибо

1 ответ

Решение

FindByNameAsync() ожидает имя пользователя, но вы передаете идентификатор пользователя. Либо передать имя пользователя...

ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserName()).Result;

Или используйте FindByIdAsync() метод...

ApplicationUser user = userManager.FindByIdAsync(User.Identity.GetUserId()).Result;
Другие вопросы по тегам