現在ログインしているユーザーを取得し、操作のために正しいクラスにキャストしようとしています。私は私のIndexメソッドでこのメソッドを呼び出す現在ログインしているApplicationUserがUserManager 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値は常にnullになります私のコントローラクラスで
私は、次のコードを持っています。私はいくつかの異なる方法を試しましたが、常にnull値になります。なぜこうなった?
httpContext.User
値は、現在のユーザが移入及び_userManager
は、ログインユーザが含まれています。どうにかしてGetUserAsyncメソッドを使用するときに私にユーザーを与えていないのですか?
メソッドを非同期にしないようにしましたか?私は確信していませんが、私はvoidメソッドが動作する必要はありませんと思う –
@FrancescoRoggia私は非同期を削除しようとしましたが、エラーが発生し、非同期を使用するように指示します。しかし、タスクの戻り値を持つ非同期メソッドを持つことをお勧めします。 – Tumladhir