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

前端之家收集整理的这篇文章主要介绍了解决ASP.NET中的后台任务中的Autofac组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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

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

原文链接:https://www.f2er.com/aspnet/249152.html

猜你在找的asp.Net相关文章