0
我想获取当前登录用户并将其转换为正确的类进行操作。当前登录的ApplicationUser返回为null与UserManager GetUserAsync方法
在我的控制器类,我有以下代码:
private async void GetCurrentUser()
{
_currentCursist = (Cursist) await _userManager.GetUserAsync(HttpContext.User);
}
我在Index方法调用此方法:
public IActionResult Index()
{
GetCurrentUser();
if (_currentCursist == null)
{
return View("~/Views/Error/DefaultError.cshtml");
}
return View();
}
的_currentCursist值将始终为空。我尝试了几种不同的方式,但总是会导致空值。这是为什么发生?
httpContext.User
值由当前用户填充,并且_userManager
包含登录的用户。不知何故,当使用GetUserAsync方法时,它不会给我用户?
你有没有尝试不使方法异步?我不确定,但我认为无效的方法并不需要它们的工作 –
@FrancescoRoggia我试着去除异步,但它会产生一个错误,并告诉我使用异步。然而,它倾向于使用任务返回的异步方法。 – Tumladhir