加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – User.Identity.GetUserId是否已缓存或每次从数据库中获取

发布时间:2020-12-15 08:30:24 所属栏目:百科 来源:网络整理
导读:我正在使用ASP.Net MVC 5,我在我的代码中调用了这一行 string userId = User.Identity.GetUserId(); ASP.NET MVC是否会从表中为每次调用获取此内容,还是会缓存? 解决方法 登录时似乎缓存了id和用户名. 我已经使用过SQL Server Profiler并在登录后运行User.I
我正在使用ASP.Net MVC 5,我在我的代码中调用了这一行
string userId = User.Identity.GetUserId();

ASP.NET MVC是否会从表中为每次调用获取此内容,还是会缓存?

解决方法

登录时似乎缓存了id和用户名.

我已经使用过SQL Server Profiler并在登录后运行User.Identity.GetUserId();身份系统不对数据库进行查询.

这是在loggin上进行的查询:

exec sp_executesql N'SELECT 
    [UnionAll2].[C2] AS [C1],[UnionAll2].[C3] AS [C2],[UnionAll2].[C4] AS [C3],[UnionAll2].[C5] AS [C4],[UnionAll2].[C6] AS [C5],[UnionAll2].[C7] AS [C6],[UnionAll2].[C8] AS [C7],[UnionAll2].[C9] AS [C8],[UnionAll2].[C10] AS [C9],[UnionAll2].[C11] AS [C10],[UnionAll2].[C12] AS [C11],[UnionAll2].[C13] AS [C12],[UnionAll2].[C14] AS [C13],[UnionAll2].[C1] AS [C14],[UnionAll2].[C15] AS [C15],[UnionAll2].[C16] AS [C16],[UnionAll2].[C17] AS [C17],[UnionAll2].[C18] AS [C18],[UnionAll2].[C19] AS [C19],[UnionAll2].[C20] AS [C20],[UnionAll2].[C21] AS [C21],[UnionAll2].[C22] AS [C22],[UnionAll2].[C23] AS [C23],[UnionAll2].[C24] AS [C24],[UnionAll2].[C25] AS [C25]
    FROM  (SELECT 
        [UnionAll1].[C1] AS [C1],[UnionAll1].[AccessFailedCount] AS [C2],[UnionAll1].[Id] AS [C3],[UnionAll1].[Email] AS [C4],[UnionAll1].[EmailConfirmed] AS [C5],[UnionAll1].[PasswordHash] AS [C6],[UnionAll1].[SecurityStamp] AS [C7],[UnionAll1].[PhoneNumber] AS [C8],[UnionAll1].[PhoneNumberConfirmed] AS [C9],[UnionAll1].[TwoFactorEnabled] AS [C10],[UnionAll1].[LockoutEndDateUtc] AS [C11],[UnionAll1].[LockoutEnabled] AS [C12],[UnionAll1].[AccessFailedCount1] AS [C13],[UnionAll1].[UserName] AS [C14],[UnionAll1].[UserId] AS [C15],[UnionAll1].[RoleId] AS [C16],[UnionAll1].[UserId1] AS [C17],[UnionAll1].[C2] AS [C18],[UnionAll1].[C3] AS [C19],[UnionAll1].[C4] AS [C20],[UnionAll1].[C5] AS [C21],[UnionAll1].[C6] AS [C22],[UnionAll1].[C7] AS [C23],[UnionAll1].[C8] AS [C24],[UnionAll1].[C9] AS [C25]
        FROM  (SELECT 
            CASE WHEN ([Extent2].[UserId] IS NULL) THEN CAST(NULL AS int) ELSE 1 END AS [C1],[Limit1].[AccessFailedCount] AS [AccessFailedCount],[Limit1].[Id] AS [Id],[Limit1].[Email] AS [Email],[Limit1].[EmailConfirmed] AS [EmailConfirmed],[Limit1].[PasswordHash] AS [PasswordHash],[Limit1].[SecurityStamp] AS [SecurityStamp],[Limit1].[PhoneNumber] AS [PhoneNumber],[Limit1].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],[Limit1].[TwoFactorEnabled] AS [TwoFactorEnabled],[Limit1].[LockoutEndDateUtc] AS [LockoutEndDateUtc],[Limit1].[LockoutEnabled] AS [LockoutEnabled],[Limit1].[AccessFailedCount] AS [AccessFailedCount1],[Limit1].[UserName] AS [UserName],[Extent2].[UserId] AS [UserId],[Extent2].[RoleId] AS [RoleId],[Extent2].[UserId] AS [UserId1],CAST(NULL AS int) AS [C2],CAST(NULL AS varchar(1)) AS [C3],CAST(NULL AS varchar(1)) AS [C4],CAST(NULL AS varchar(1)) AS [C5],CAST(NULL AS varchar(1)) AS [C6],CAST(NULL AS varchar(1)) AS [C7],CAST(NULL AS varchar(1)) AS [C8],CAST(NULL AS varchar(1)) AS [C9]
            FROM   (SELECT TOP (1) 
                [Extent1].[Id] AS [Id],[Extent1].[Email] AS [Email],[Extent1].[EmailConfirmed] AS [EmailConfirmed],[Extent1].[PasswordHash] AS [PasswordHash],[Extent1].[SecurityStamp] AS [SecurityStamp],[Extent1].[PhoneNumber] AS [PhoneNumber],[Extent1].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],[Extent1].[TwoFactorEnabled] AS [TwoFactorEnabled],[Extent1].[LockoutEndDateUtc] AS [LockoutEndDateUtc],[Extent1].[LockoutEnabled] AS [LockoutEnabled],[Extent1].[AccessFailedCount] AS [AccessFailedCount],[Extent1].[UserName] AS [UserName]
                FROM [dbo].[AspNetUsers] AS [Extent1]
                WHERE [Extent1].[Id] = @p__linq__0 ) AS [Limit1]
            LEFT OUTER JOIN [dbo].[AspNetUserRoles] AS [Extent2] ON [Limit1].[Id] = [Extent2].[UserId]
        UNION ALL
            SELECT 
            2 AS [C1],[Limit2].[AccessFailedCount] AS [AccessFailedCount],[Limit2].[Id] AS [Id],[Limit2].[Email] AS [Email],[Limit2].[EmailConfirmed] AS [EmailConfirmed],[Limit2].[PasswordHash] AS [PasswordHash],[Limit2].[SecurityStamp] AS [SecurityStamp],[Limit2].[PhoneNumber] AS [PhoneNumber],[Limit2].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],[Limit2].[TwoFactorEnabled] AS [TwoFactorEnabled],[Limit2].[LockoutEndDateUtc] AS [LockoutEndDateUtc],[Limit2].[LockoutEnabled] AS [LockoutEnabled],[Limit2].[AccessFailedCount] AS [AccessFailedCount1],[Limit2].[UserName] AS [UserName],CAST(NULL AS varchar(1)) AS [C2],[Extent4].[Id] AS [Id1],[Extent4].[UserId] AS [UserId],[Extent4].[ClaimType] AS [ClaimType],[Extent4].[ClaimValue] AS [ClaimValue],CAST(NULL AS varchar(1)) AS [C8]
            FROM   (SELECT TOP (1) 
                [Extent3].[Id] AS [Id],[Extent3].[Email] AS [Email],[Extent3].[EmailConfirmed] AS [EmailConfirmed],[Extent3].[PasswordHash] AS [PasswordHash],[Extent3].[SecurityStamp] AS [SecurityStamp],[Extent3].[PhoneNumber] AS [PhoneNumber],[Extent3].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],[Extent3].[TwoFactorEnabled] AS [TwoFactorEnabled],[Extent3].[LockoutEndDateUtc] AS [LockoutEndDateUtc],[Extent3].[LockoutEnabled] AS [LockoutEnabled],[Extent3].[AccessFailedCount] AS [AccessFailedCount],[Extent3].[UserName] AS [UserName]
                FROM [dbo].[AspNetUsers] AS [Extent3]
                WHERE [Extent3].[Id] = @p__linq__0 ) AS [Limit2]
            INNER JOIN [dbo].[AspNetUserClaims] AS [Extent4] ON [Limit2].[Id] = [Extent4].[UserId]) AS [UnionAll1]
    UNION ALL
        SELECT 
        3 AS [C1],[Limit3].[AccessFailedCount] AS [AccessFailedCount],[Limit3].[Id] AS [Id],[Limit3].[Email] AS [Email],[Limit3].[EmailConfirmed] AS [EmailConfirmed],[Limit3].[PasswordHash] AS [PasswordHash],[Limit3].[SecurityStamp] AS [SecurityStamp],[Limit3].[PhoneNumber] AS [PhoneNumber],[Limit3].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],[Limit3].[TwoFactorEnabled] AS [TwoFactorEnabled],[Limit3].[LockoutEndDateUtc] AS [LockoutEndDateUtc],[Limit3].[LockoutEnabled] AS [LockoutEnabled],[Limit3].[AccessFailedCount] AS [AccessFailedCount1],[Limit3].[UserName] AS [UserName],CAST(NULL AS int) AS [C5],[Extent6].[LoginProvider] AS [LoginProvider],[Extent6].[ProviderKey] AS [ProviderKey],[Extent6].[UserId] AS [UserId],[Extent6].[UserId] AS [UserId1]
        FROM   (SELECT TOP (1) 
            [Extent5].[Id] AS [Id],[Extent5].[Email] AS [Email],[Extent5].[EmailConfirmed] AS [EmailConfirmed],[Extent5].[PasswordHash] AS [PasswordHash],[Extent5].[SecurityStamp] AS [SecurityStamp],[Extent5].[PhoneNumber] AS [PhoneNumber],[Extent5].[PhoneNumberConfirmed] AS [PhoneNumberConfirmed],[Extent5].[TwoFactorEnabled] AS [TwoFactorEnabled],[Extent5].[LockoutEndDateUtc] AS [LockoutEndDateUtc],[Extent5].[LockoutEnabled] AS [LockoutEnabled],[Extent5].[AccessFailedCount] AS [AccessFailedCount],[Extent5].[UserName] AS [UserName]
            FROM [dbo].[AspNetUsers] AS [Extent5]
            WHERE [Extent5].[Id] = @p__linq__0 ) AS [Limit3]
        INNER JOIN [dbo].[AspNetUserLogins] AS [Extent6] ON [Limit3].[Id] = [Extent6].[UserId]) AS [UnionAll2]
    ORDER BY [UnionAll2].[C3] ASC,[UnionAll2].[C1] ASC',N'@p__linq__0 nvarchar(4000)',@p__linq__0=N'b73f9738-76ed-48d5-a8fd-cbf23a233fe9'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读