1

我在 ASP.NET MVC 应用程序中使用 Fire and Forget 意味着我正在生成一个不依赖于用户需要的长时间运行的 CPU 或 IO 密集型后台线程。这很好用,但我担心在应用程序域/进程回收过程中,我的后台线程保证运行完成,或者它可能会在中间停止。如果有任何危险,那么如何避免这种情况。

4

3 回答 3

4

如果您需要保证进程一直运行到完成,那么在网络服务器下运行它确实是错误的地方。您应该考虑将长时间运行的任务放在服务中,并通过某种 IPC 从网络服务器与其通信(想到 WCF)。

于 2013-06-04T10:09:23.847 回答
2

我认为 ASP.NET MVC 在这里不是正确的选择。您应该考虑使用 Workflow Foundation。可以通过进行 WCF 调用来触发工作流。

于 2013-06-04T10:10:18.710 回答
1

这是正确的答案(Windows 服务或WebBackground),

在此处输入图像描述

于 2013-07-09T19:24:43.207 回答