ASP.Net生命线程和衍生任务

时间:2013-07-18 16:29:12

标签: c# asp.net multithreading

我是ASP.net的新手,

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

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

但是我在服务器端处理任务中得到奇怪的ThreadAborted异常并且正在阅读this question我认为使用Task不是最好的选择。

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

1 个答案:

答案 0 :(得分:1)

IIS可以随时回收您的应用程序,因此Web服务器不是最好的用途。您最好的选择是在单独的服务器上运行Windows服务,并自行托管WebApi或使用MSMQ从Web服务器向“app”服务器发送消息以启动处理。