Asp.net Web服务调用在IIS中创建大量线程

Asp.net Web服务调用在IIS中创建大量线程,asp.net,web-services,Asp.net,Web Services,我有一个Web服务,它使用.Net远程处理与桌面应用程序进行通信。客户端或用户使用此Web服务向数据库插入或更新任何数据(经过一些处理后通过桌面应用程序)。我面临的问题是,在高峰期,这意味着调用此Web服务2000-3000次,以在15到20分钟内插入/更新数据。。我可以看到线程的数量增加到2000个左右。(在w3wp.exe的TaskManager中)。创建这么多线程的可能原因是什么?正如我所看到的,其他Web服务只显示了不到50个线程 注意:导致问题的web服务位于差异应用程序池中 谢谢这意

我有一个Web服务,它使用.Net远程处理与桌面应用程序进行通信。客户端或用户使用此Web服务向数据库插入或更新任何数据(经过一些处理后通过桌面应用程序)。我面临的问题是,在高峰期,这意味着调用此Web服务2000-3000次,以在15到20分钟内插入/更新数据。。我可以看到线程的数量增加到2000个左右。(在w3wp.exe的TaskManager中)。创建这么多线程的可能原因是什么?正如我所看到的,其他Web服务只显示了不到50个线程

注意:导致问题的web服务位于差异应用程序池中


谢谢

这意味着许多电话正在等待回复。 由于ASP.NET使用线程池,您应该将其用于快速操作,或者使用异步处理程序,以便线程返回到线程池,并且ASP.NET在结果准备就绪后立即分配新线程


它可能是
BRL
DLL
或其他任何程序中死锁的结果。尝试在web服务代码中设置断点,并找出它被阻塞的位置。

线程问题只发生在我们有2000到3000个请求的高峰时间。当我们有100个计数的请求时,线程处于控制之下。顺便提一下该服务除了向桌面应用程序(它只是一个代理)发送请求外,没有做任何出色的工作@Anish:桌面应用程序可能是瓶颈。这些线程正在等待桌面应用程序响应。您正在为每个请求创建和销毁整个桌面应用程序。这就是为什么旧的CGI应用程序已经被智能web平台所取代。