Asp.net mvc 5 获取当前登录用户';s的电子邮件地址已过期

Asp.net mvc 5 获取当前登录用户';s的电子邮件地址已过期,asp.net-mvc-5,windows-authentication,Asp.net Mvc 5,Windows Authentication,我正在使用Membership.GetUser(User.Identity.Name).Email方法尝试获取当前用户的电子邮件地址,但它超时了,我只有一行,在这行上声明并将方法的返回值分配给一个变量 这是我的一行代码stringuseremail=Membership.GetUser(User.Identity.Name).Email, 我已经尝试过这段代码,不管是否使用username参数。我还尝试先检查用户是否经过身份验证,但一旦它到达这一行,它就会超时,我还尝试完全从另一种方法进行检查

我正在使用Membership.GetUser(User.Identity.Name).Email方法尝试获取当前用户的电子邮件地址,但它超时了,我只有一行,在这行上声明并将方法的返回值分配给一个变量 这是我的一行代码
stringuseremail=Membership.GetUser(User.Identity.Name).Email,

我已经尝试过这段代码,不管是否使用username参数。我还尝试先检查用户是否经过身份验证,但一旦它到达这一行,它就会超时,我还尝试完全从另一种方法进行检查


注意:Windows auth用于web应用

成员身份
来自ASP.NET成员身份,而非身份。您需要使用:

var user = UserManager.FindById(User.Identity.GetUserId());
然后,访问该用户对象的
Email
属性

更新


我被你使用的[asp.net identity]标记搞砸了。然而,这一点在所有方面都适用<代码>成员身份
来自与Windows Auth完全不同的身份验证系统。使用Windows Auth时,用户信息来自AD,因此如果需要其他信息,只需添加
UserPrincipal
扩展名即可。请参阅。

检查数据库连接是否中断。非常感谢@Chris Pratt这帮了大忙,实际上我的组织中有一个现有的广告服务,我只是用它来获取所有与广告用户相关的信息,您的回答为我指明了正确的方向