Я пытаюсь получить текущего зарегистрированного пользователя и применить его к правильному классу для манипуляций.Текущий входной файл ApplicationUser возвращен как null с помощью метода UserUnder GetUserAsync
В моем классе контроллера У меня есть следующий код:
private async void GetCurrentUser()
{
_currentCursist = (Cursist) await _userManager.GetUserAsync(HttpContext.User);
}
Я называю этот метод в моем методе индекс:
public IActionResult Index()
{
GetCurrentUser();
if (_currentCursist == null)
{
return View("~/Views/Error/DefaultError.cshtml");
}
return View();
}
Значение _currentCursist всегда будет нулевым. Я пробовал несколько разных способов, но всегда приводит к нулевому значению. Почему это происходит?
Значение httpContext.User
заполнено текущим пользователем, а _userManager
содержит зарегистрированного пользователя. Почему-то это не дает мне пользователя при использовании метода GetUserAsync?
Вы пытались не использовать метод async? Я не уверен, но я думаю, что методы void не нуждаются в них. –
@FrancescoRoggia Я попытался удалить асинхронный процесс, но он будет генерировать ошибку и скажет мне использовать async. Однако он предпочитает использовать метод async с возвратом задачи. – Tumladhir