在IIS应用程序上使用tasks / ThreadPool(asp .net)

我们在iis 7上有一个asp.net应用程序。我们需要创建一个异步进程来进行计算(使用Web服务)而不是让客户端等待,我们使用ThreadPool来做到这一点(我更喜欢Tasks但我是服务器旁边的家伙)。
我的问题是:
1.如果在iis上使用线程池,是从客户端还是从OS获取iis池中的线程?
2.你会使用什么任务或ThreadPool(任务给你更多我知道,但UI人员喜欢池)。
坦克

ASP.NET主机为每个进程提供单个线程池。 因此,如果您正在使用ThreadPool ,那么它将从用于服务器请求的相同池中获取。

也就是说,如果您正在启动独立于单个客户端请求的后台操作,那么您应该使用Win32服务,Web服务,消息队列系统或类似的东西。 在ASP.NET中运行“后台”线程违反了IIS的整个架构; 如果您保持HTTP的无状态特性,那么正确扩展和执行其他IT工作(例如,重新启动应用程序池)要容易得多。

任务,仍然消耗线程池中的线程。

到目前为止,据我所知,第三方服务执行CPU大量计算,您需要异步等待它完成。

如果你想推迟页面渲染,直到计算完成, 异步页面将有所帮助。 这种方法将处理线程返回到线程池,同时等待。

您能提供有关所需解决方案的更多详细信息吗?