В настоящее время я переношу сайт на ASP.NET Core 2 и получаю следующее исключение, когда я вызываю userManager.GenerateEmailConfirmationTokenAsync(user)
с классом пользователя, который расширяет IdentityUser<Guid>
:
System.ArgumentNullException: Value cannot be null.
Parameter name: value
at System.IO.BinaryWriter.Write(String value)
at Microsoft.AspNetCore.Identity.DataProtectorTokenProvider`1.<GenerateAsync>d__11.MoveNext()
GenerateAsync()
вызывает UserManager.GetUserIdAsync()
, который возвращает значение null
в Result
, на что Write()
жалуется, хотя экземпляр User
, через который я прохожу, имеет 07c0423e-f36b-1410-8007-800000000000
в Id
.
Если я вызываю userManager.GetUserIdAsync(user)
непосредственно для того же экземпляра UserManager
, для которого я вызываю GenerateEmailConfirmationTokenAsync()
, я получаю то же самое значение null
в Result
.
У кого-нибудь есть идеи, как это решить?
Изменить. По запросу функциональный пример можно найти по адресу github.com/BenjaminNolan/GetUserIdAsyncNullExample.