繁体   English   中英

在ASP.NET MVC中使用火灾并忘记的危险

[英]Danger of Using Fire and Forget in ASP.NET MVC

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

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

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

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM