在显示层用如下代码,把需要存储的值放到线程拥有者里,代码如下 var claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal; var a =new ClaimsIdentity();
a.AddClaim(new Claim("UserId","150")); if (claimsPrincipal != null) claimsPrincipal.AddIdentity(a);在Service层调用的时候如下: var claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal; var userId= claimsPrincipal.Claims.FirstOrDefault(c => c.Type == "UserId").Value;请问这样把Seesion共享到Service可行吗?
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
不建议通过这种方式隐式的传递信息,这样通用性相当差而且由于缺少足够提示对后期维护也是相当麻烦。
建议这种是直接在交互的方法上显式暴露出来进行传递,这样你做单元测试的话也会简单很多
- 1 回答
- 0 关注
- 516 浏览
添加回答
举报
0/150
提交
取消