在我的应用程序中,我创建了UserValidator的自定义版本,以便我可以自己配置错误消息。
目前,它基本上是此处找到的实现,但具有其他资源文件引用。
我卡住的部分是在ValidateEmailAsync方法中。它包含以下行:
var email = await Manager.GetEmailStore().GetEmailAsync(user).WithCurrentCulture();
这给出了它无法访问GetEmailStore()
方法的错误,因为它是UserManager
对象的内部方法。寻找修复程序会导致我遇到这个问题,建议改用这一行:
var email = await Manager.GetEmailAsync(user.Id).ConfigureAwait(false);
但是执行它会给出异常,即它找不到具有给定 ID 的任何用户。
有没有其他方法可以检索 IUser 对象的电子邮件属性?如果需要,这是我当前的代码。
像这样获取用户,然后获取电子邮件;
var user = await Manager.GetUserAsync(User);
var email = user.Email;