我有一段比较常规的.net core mvc代码,就是StartUp函数中注册HttpContextAccessor到系统DI工厂中,如图:

然后调用方是service层,这个service层是使用autofac注入的,而且是单例注入,如图

service调用HttpContextAccesor如图所示:

为了测试是否存在线程同步问题,我使用了Thread.Sleep()方法,如果HttpContextAccesor里面的内容被相互影响了,那么后面打印出来的内容应该是一样的,如图:

但是事实上,打印出来的内容是不一样的,说明HttpContextAccesor不存在着线程同步问题,如图

这两个数字代表着两个用户的id信息。

结论:

即使service使用了单例模式,但是在多线程的情况下,HttpContextAccessor不会出现线程同步问题。

最新文章

  1. 分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录)
  2. SharePoint 2013 REST 服务使用简介
  3. Effective Java 读书笔记之八 异常
  4. JQuery执行DOM批量克隆并插入的提效方法
  5. Python核心编程--学习笔记--1--Python简介
  6. Hook入门
  7. 黑盒测试用例设计方法&理论结合实际 -> 正交试验法
  8. Python 第一章 基础知识
  9. javascript 按位或(|),无符号右移(>>>)运算,组合技巧来实现————密码强度提示,四种情况??
  10. jade模板引擎简明用法
  11. Javaee需不需要培训?培训完可以顺利找到工作吗?
  12. Bootstrap框架的了解和使用之栅格系统
  13. 关于js中promise的面试题。
  14. Linux - 工作管理(job control),jobs,fg,bg,kill
  15. 解密Redis的持久化和主从复制机制
  16. 继承Thread类和实现Runnable接口
  17. VS2012使用验证控件出现[ASP.NET]WebForms UnobtrusiveValidationMode 需要 'jquery' 的 ScriptResourceMapping。請加入 ScriptResourceMapping 命名的 jquery (區分大小寫)。的解决办法。
  18. linux设置自动更换壁纸
  19. GitHub优秀项目
  20. js设计模式总结1

热门文章

  1. KVM 虚拟机的热迁移
  2. windows 多网卡路由设置
  3. 微信二次开发点击菜单openId的获取
  4. template模板的使用方法
  5. Yaf 完全精通
  6. QT汇总
  7. linux中iptables配置文件及命令详解
  8. eclipse 带sts插件
  9. quartus 一种管脚分配方法
  10. shell丢弃信息