我正在使用Membership.GetUser(User.Identity.Name).Email方法来尝试获取当前用户的电子邮件地址,但是它的超时,我只有一行,我在其上声明并分配返回值变量的方法
这是我的一行代码string userEmail = Membership.GetUser(User.Identity.Name).Email;
,
我在使用或不使用username参数的情况下尝试了此代码。我还尝试先检查用户是否经过身份验证,但一旦到达此行就超时了,我也尝试过完全使用其他方法。
注意:Windows身份验证用于Web应用程序
答案 0 :(得分:1)
Membership
来自ASP.NET成员资格,而不是身份。你需要使用:
var user = UserManager.FindById(User.Identity.GetUserId());
然后,您可以访问该用户对象的Email
属性。
<强>更新强>
我被你使用[asp.net-identity]标签抛出了。但是,所有这一点都适用。 Membership
来自与Windows Auth完全不同的身份验证系统。使用Windows Auth时,您的用户信息来自AD,因此如果您需要其他信息,只需添加UserPrincipal
扩展名即可。请参阅my answer in this related question。