在顯示層用如下代碼,把需要存儲的值放到線程擁有者里,代碼如下 var claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal; var a =new ClaimsIdentity();
a.AddClaim(new Claim("UserId","150")); if (claimsPrincipal != null) claimsPrincipal.AddIdentity(a);在Service層調(diào)用的時候如下: var claimsPrincipal = Thread.CurrentPrincipal as ClaimsPrincipal; var userId= claimsPrincipal.Claims.FirstOrDefault(c => c.Type == "UserId").Value;請問這樣把Seesion共享到Service可行嗎?
1 回答

海綿寶寶撒
TA貢獻1809條經(jīng)驗 獲得超8個贊
不建議通過這種方式隱式的傳遞信息,這樣通用性相當差而且由于缺少足夠提示對后期維護也是相當麻煩。
建議這種是直接在交互的方法上顯式暴露出來進行傳遞,這樣你做單元測試的話也會簡單很多
- 1 回答
- 0 關注
- 542 瀏覽
添加回答
舉報
0/150
提交
取消