加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

解决ASP.NET中的后台任务中的Autofac组件

发布时间:2020-12-15 22:26:14 所属栏目:asp.Net 来源:网络整理
导读:在ASP.NET中使用Autofac以及ContainerDisposalModule,我如何支持fire和forget具有需要解析的组件依赖性的调用?我遇到的问题是ASP.NET请求在Task运行之前完成并处理请求的生命周期范围,因此任何需要在新线程中解析的组件都会失败,并显示消息“实例无法解析并
在ASP.NET中使用Autofac以及ContainerDisposalModule,我如何支持fire和forget具有需要解析的组件依赖性的调用?我遇到的问题是ASP.NET请求在Task运行之前完成并处理请求的生命周期范围,因此任何需要在新线程中解析的组件都会失败,并显示消息“实例无法解析并且无法从此LifetimeScope创建嵌套生命周期,因为它已经被处理掉了“.在ASP.NET中使用Autofac支持fire和忘记调用的最佳方法是什么?我不想延迟执行某些可以在后台线程上完成的任务的请求.

解决方法

您需要创建一个独立于请求生存期范围的新生命周期范围.下面的博客文章显示了如何使用MVC执行此操作的示例,但同样的概念可以应用于WebForms.

http://aboutcode.net/2010/11/01/start-background-tasks-from-mvc-actions-using-autofac.html

如果您需要确保在请求完成后明确执行异步工作,那么这不是一个好方法.在这种情况下,我建议在请求期间将消息发布到队列中,允许单独的进程获取它并执行工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读