AutofacMVC5.0 项目中如何使用多线程访问注入对象

hengren4 2020-07-06 06:57:05
AutofacMVC5.0 项目中如何使用多线程访问注入对象?

项目有个操作,对一个表增删改之后会创建一个新的线程去访问Autofac注入的对象。来操作其他数据。但是因为我使用的是.net MVC 5.0(不是netCore MVC)。对于MVC注册的那些类的生命周期都是InstancePerRequest()指定每次请求一个周期的。这样遇到了一个不可跳跃的问题。当新的线程启动后,其实已经脱离了InstancePerRequest()指定的周期了。就导致container.Resolve(cls) 出错。“无法解析”


请教下各位,有什么好的思路或办法解决下?


这个是注册类型的图片


这个是调用出错的图片
...全文
4758 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hengren4 2020-08-20
  • 打赏
  • 举报
回复
引用 4 楼 以专业开发人员为伍 的回复:
[quote=引用 3 楼 jhdxhj 的回复:]直接写个类,实例化就完事了,为什么非要注入呢?
许多程序员有反纪律化、反规范、反编译检查、反工程接口、追求万能、追求“妖”代码的冲动。 灵活扩展是追求的目标,但是一旦过头而无法靠谱地编译检查错误,无法保证发布产品在运行时不会出现类型错误、总是无法保证立刻解决bug,那么这类注入系统90%都非常有害。[/quote] 是的,你说的很对,很客观。对于产品而言,高稳定性、高可靠性、高安全性才是首要考虑的目标。不过我是技术尝试。谢谢指点。
hengren4 2020-08-20
  • 打赏
  • 举报
回复
引用 5 楼 以专业开发人员为伍 的回复:
而且常用功能反复调用时可以见到运行效率成百倍地降低,没经过高并发大用户环境下对不同框架的性能测试。
兄弟,不是所有系统都走高并发的。。。还有很多内网运行的系统。。。
引用 10 楼 ying1234 的回复:
对于反射,一向是不得不用才用,尽量少用的原则。也要看项目情况,对性能要求不高的,可以用。否则慎用。公司是土豪的可以用(服务器明显比一般的好,不在乎多几台服务器),无论什么语言的反射都会降低性能,哪怕是一些新语言,象go,反射的性能差得令人发指。是几百倍的降低性能。
反射用的少,不过我是技术尝试。谢谢指点~
ying1234 2020-08-04
  • 打赏
  • 举报
回复
对于反射,一向是不得不用才用,尽量少用的原则。也要看项目情况,对性能要求不高的,可以用。否则慎用。公司是土豪的可以用(服务器明显比一般的好,不在乎多几台服务器),无论什么语言的反射都会降低性能,哪怕是一些新语言,象go,反射的性能差得令人发指。是几百倍的降低性能。
hengren4 2020-08-03
  • 打赏
  • 举报
回复
引用 3 楼 jhdxhj 的回复:
直接写个类,实例化就完事了,为什么非要注入呢?
技术尝新。。。哈哈哈哈
hengren4 2020-08-03
  • 打赏
  • 举报
回复
引用 1 楼 icoolno1 的回复:
先写个服务类,注册到Autofac,将cls注入到这个服务类,再把这个服务类注入到你的页面,在这个服务类里写个方法,在这个方法里启动task。
我采用的是批量注册的方式
hengren4 2020-08-03
  • 打赏
  • 举报
回复
已经注册了的
hengren4 2020-07-07
  • 打赏
  • 举报
回复
我就是这么搞的。
八爻老骥 2020-07-07
  • 打赏
  • 举报
回复
先写个服务类,注册到Autofac,将cls注入到这个服务类,再把这个服务类注入到你的页面,在这个服务类里写个方法,在这个方法里启动task。
叫我官人、 2020-07-07
  • 打赏
  • 举报
回复
这个类注册到程序中了嘛?
  • 打赏
  • 举报
回复
而且常用功能反复调用时可以见到运行效率成百倍地降低,没经过高并发大用户环境下对不同框架的性能测试。
  • 打赏
  • 举报
回复
引用 3 楼 jhdxhj 的回复:
直接写个类,实例化就完事了,为什么非要注入呢?


许多程序员有反纪律化、反规范、反编译检查、反工程接口、追求万能、追求“妖”代码的冲动。

灵活扩展是追求的目标,但是一旦过头而无法靠谱地编译检查错误,无法保证发布产品在运行时不会出现类型错误、总是无法保证立刻解决bug,那么这类注入系统90%都非常有害。
jhdxhj 2020-07-07
  • 打赏
  • 举报
回复
直接写个类,实例化就完事了,为什么非要注入呢?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧