У меня есть следующий код, который извлекает идентификатор пользователя из TwoFactorCook ie в asp. net:
private string GetTwoFactorUserId()
{
var result = AuthenticationManager.AuthenticateAsync(DefaultAuthenticationTypes.TwoFactorCookie).Result;
if (result != null && result.Identity != null && !String.IsNullOrEmpty(result.Identity.GetUserId()))
{
return result.Identity.GetUserId();
}
return null;
}
Проблема в том, что переменная результата не всегда возвращает значение, это делает большую часть времени, но не всегда.
Что здесь не так? Почему мне не всегда возвращаются значения? Я предполагаю, что это связано с каким-то асинхронным методом, который не завершается, когда я пытаюсь проверить значение.