问题描述
我正在对客户端和服务器代码进行一些负载测试。随着事情的发展,前1,000个电话就可以了。但是(在某些运行中),我开始收到以下异常:
System.Net.Http.HttpRequestException: The SSL connection Could not be established,see inner exception.
---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..
---> System.Net.sockets.socketException (10054): An existing connection was forcibly closed by the remote host.
System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
但这似乎可以解决所有呼叫均无法正常工作的问题。在我的情况下,在开始遇到上述异常之前,我可以成功拨打1000多个电话。
我问的真正目的是,在这种情况开始发生之后,我会遇到很多相同类型的失败。
我想知道我的HttpClient
在发生这种情况之后是否处于故障状态?如果是,该如何解决? (我的HttpClient
是静态的,如果失败了,那么我所有的通话都会失败。)
注意:我的代码作为NuGet运行,需要在.Net Framework 4.7和.Net Core 3.1中运行。
解决方法
不应与您的代码有关,这是主机拒绝连接,它可能由于您发送的请求过多而关闭,或者很有可能限制了您的速率。
,我认为此问题是由于WSO2 API管理器限制了连接数所致。我们更改了WSO2服务器上的某些设置,此问题消失了。 (我不知道WSO2管理员所做的更改。)