我正在使用 ASP.Net MVC 5 并且我在我的代码中调用这一行
string userId = User.Identity.GetUserId();
ASP.NET MVC 是否会在每次调用时从表中获取此数据,还是将其缓存?
查看 Microsoft.AspNet.Identity.Core.dll 的反编译源代码,您可以看到它从当前身份的声明中检索用户 ID。所以它不会从数据库中获取此信息。
public static string GetUserId(this IIdentity identity)
{
if (identity == null)
throw new ArgumentNullException("identity");
ClaimsIdentity identity1 = identity as ClaimsIdentity;
if (identity1 != null)
return IdentityExtensions.FindFirstValue(identity1, "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier");
return (string) null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)