Web服务中长时间运行的任务

时间:2015-06-16 11:03:28

标签: asp.net multithreading wcf iis

我有一个.NET Web服务[在IIS中托管的WCF],现在需要实现一个长期运行的方法。 为避免阻塞ASP.NET线程池中的线程,此实现的最佳实践是什么? 此外,在WCF中使用任务并行库[TPL]是否有意义? 非常感谢您的支持

1 个答案:

答案 0 :(得分:2)

池中的线程实际上并不是稀缺资源。除非你打算同时消耗数百个,否则不用担心。

长期运行的后台任务最好以LongRunning Task实施。请务必发现任何错误,以便了解错误。

另请注意,当工作进程关闭(部署,崩溃,重新启动......)时,后台工作可能会随时消失。

最简单的方法是不做背景工作。也许客户端可以运行一个真正长时间运行的WCF请求,并在请求线程上执行所有这些操作。这会为你处理线程和错误。