【发布时间】:2022-01-27 00:05:02
【问题描述】:
使用user.Email 与await _userManager.GetEmailAsync(user) 有什么区别?
我的意思是,一旦我有了用户实例本身,_userManager 的GetEmailAsync() 方法将这个用户实例作为参数有什么用?我可以通过其属性访问用户的电子邮件。
我检查了源代码,我知道有一个使用 IUserEmailStore 的抽象层,但它的默认实现只是返回 Email 属性...
我也明白,IUserEmailStore 可能存在其他实现,但这种情况下会出现问题:user.Email 属性和_userManager.GetEmailAsync(user) 是否相互一致,或者不是?
如果不是,那是个问题,如果是,那么我们回到原来的问题:使用_userManager.GetEmailAsync(user)的用例是什么?
(同样的问题出现在 UserName、PhoneNumber 等属性上)
【问题讨论】:
-
在 ASP.NET Core 标识中没有名为
GetUserEmailAsync的方法:github.com/dotnet/aspnetcore/search?q=GetUserEmailAsync(在 github.com/dotnet/aspnetcore/tree/main/src/Identity/Core/src 中) -
请链接到您所指的方法和类型的文档,因为我找不到任何东西。
-
@Dai,我用的是aspnetcore-6.0.0,UserManager类有
public virtual async Task<string> GetUserNameAsync(TUser user)方法 -
这是
GetEmailAsync,而不是GetUserEmailAsyncbtw:docs.microsoft.com/en-us/dotnet/api/… -
你是对的,很抱歉浪费了你的时间,我正在编辑 OP
标签: asp.net-core