我有一个web服务,它使用.Net远程处理与桌面应用程序通信。客户端或用户正在使用此Web服务将任何数据插入或更新到数据库(通过一些处理后通过桌面应用程序)。我面临的问题是,在峰值时间内,这意味着调用2000 - 3000次此Web服务以在15到20分钟内插入/更新数据..我可以看到线程数增加到2000左右。(在w3wp.exe的TaskManager中)。创建这么多线程的可能原因是什么?正如我所看到的,其他web服务只显示少于50个线程。
注意:引起问题的Web服务位于diff应用程序池中。
由于
答案 0 :(得分:0)
这意味着许多电话都在等待响应。 由于ASP.NET使用线程池,您应该使用它们进行快速操作,或者使用ASYNC处理程序,以便线程返回池,并且一旦结果准备好,ASP.NET就会分配一个新线程。
可能是BRL
或DLL
或其他任何内容死锁的结果。尝试在Web服务代码中设置一个断点,并找到它被阻止的位置。