线程和派生任务的ASP.Net寿命

本文关键字:ASP Net 寿命 任务 派生 线程 | 更新日期: 2023-09-27 18:23:44

我是ASP.net、的新手

我正在编写一个webapi来启动一些繁重的服务器端处理,我需要保证这些处理会完成。

目前,ASP.net请求启动一个新任务(Task.Factory.StartNew(…)),然后返回一个URL,用户可以通过轮询来查找状态。

然而,我在服务器端处理任务中遇到了奇怪的ThreadBorted异常,读到这个问题后,我认为使用Task不是最好的选择。

是否有更好的并行/异步模式来生成需要保证完成的长时间运行的服务器端进程?

线程和派生任务的ASP.Net寿命

IIS可以随时回收您的应用程序,因此web服务器不是最好的选择。您最好的选择是在单独的服务器上运行windows服务,并在其中自托管WebApi,或者使用MSMQ将消息从web服务器发送到"应用程序"服务器以启动处理。