我是ASP.net的新手,
我正在编写一个webapi来启动一些重要的服务器端处理,我需要保证完成。
目前,ASP.net请求启动一个新的Task(Task.Factory.StartNew(...)),然后返回一个用户可以轮询的URL来查找状态。
但是我在服务器端处理任务中得到奇怪的ThreadAborted异常并且正在阅读this question我认为使用Task不是最好的选择。
是否有更好的并行/异步范例来产生需要保证完成的长时间运行的服务器端进程?
答案 0 :(得分:1)
IIS可以随时回收您的应用程序,因此Web服务器不是最好的用途。您最好的选择是在单独的服务器上运行Windows服务,并自行托管WebApi或使用MSMQ从Web服务器向“app”服务器发送消息以启动处理。