从Windows服务调用Web服务(负载平衡服务器)

时间:2011-12-07 10:49:18

标签: .net web-services windows-services

我们有一个在服务器上运行的Web服务,它由在2台服务器上运行的Windows服务调用,总共有3台服务器。

偶尔(例如,一个月/ 3个月/ 6个月),Windows服务正在记录此错误消息“线程池中没有足够的免费threds来完成操作”。

webservice很简单,它接受一个参数并返回一个字符串。

发生错误后,服务器上的特定Windows服务因后续请求而失败。

不确定这个错误的原因,有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

由于this KB article中解释的原因,ASP.NET 1.x应用程序中常常出现此问题,这些应用程序会产生大量并发的出站Web服务请求。

重写了.NET 2.0中的HTTP堆栈,使其不太可能发生,但据我所知,如果并发加载模式导致线程池使用量过大,问题仍然会出现。

您可以通过仔细调整Windows服务应用程序的线程池参数来减少甚至消除其发生率。