我有一个ASP.NET应用程序,该应用程序通过托管在同一服务器/ PC上的HttpClient调用自定义的Web服务。问题是,如果大约有3个或更多的连续调用,则IIS会挂起。我必须重新启动它,或者等待调用返回请求超时错误。 Web服务并不那么繁重,仅返回大约几KB的数据。
直接从前端通过Ajax对Web服务进行连续调用时,不会发生此问题。我测试了大约300个连续请求,并在几秒钟内完成了该请求。它似乎仅在通过ASP.NET应用程序时发生。
此外,当将Web服务托管在其他服务器上时,该问题似乎已最小化,但偶尔仍然冻结(客户端坚持将应用托管在1个服务器/ PC上,在这里没有太多选择)。
我尝试按照本文中的建议更改Machine.config以提高性能: https://support.microsoft.com/en-za/help/821268/contention-poor-performance-and-deadlocks-when-you-make-calls-to-web-s
我还尝试将呼叫转换为异步但无济于事。