欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

伪Session这样共享到Service

程序员文章站 2022-06-30 16:06:43
在显示层用如下代码,把需要存储的值放到线程拥有者里,代码如下 在Service层调用的时候如下: 请问这样把Seesion共享到Service可行吗? ......

在显示层用如下代码,把需要存储的值放到线程拥有者里,代码如下

         var claimsPrincipal = new  ClaimsPrincipal();
             var a =new  ClaimsIdentity();
             a.AddClaim(new Claim("UserId","150"));
            if (claimsPrincipal != null) claimsPrincipal.AddIdentity(a);
        Thread.CurrentPrincipal = claimsPrincipal;

在Service层调用的时候如下:

  var claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal;
            var userId= claimsPrincipal.Claims.FirstOrDefault(c => c.Type == "UserId").Value;

请问这样把Seesion共享到Service可行吗?