HostingEnvironment.QueueBackgroundWorkItem支持多个后台进程

时间:2015-01-14 05:27:55

标签: c# asp.net-mvc-5

我计划在我的项目(MVC5)中使用HostingEnvironment.QueueBackgroundWorkItem来从控制器调用后台进程,如下所示。

System.Web.Hosting.HostingEnvironment.QueueBackgroundWorkItem(async cancellationToken =>
                    {
                        var result1 = await AddUsers(userList, param1, param2);
                    });

这是否支持多个后台进程并行运行?有什么方法可以优化我的实现?

1 个答案:

答案 0 :(得分:1)

是的,它将支持多个后台进程,并且它们并行运行。

但是,您应该仔细考虑这些后台进程应该做什么。 QueueBackgroundWorkItem不是可靠的,因为您可以假设工作一旦排队就会完成。像"添加用户"不是一个合适的用例,您应该使用具有可靠队列(例如,Azure队列或MSMQ)和独立后端(例如,Azure webjob或Win32服务)的体系结构。