C# HttpClient在激活一段时间后超时请求

C# HttpClient在激活一段时间后超时请求,c#,dotnet-httpclient,servicepointmanager,C#,Dotnet Httpclient,Servicepointmanager,我使用System.Net.Http.HttpClient的单个实例将请求从windows服务发送到多个RESTful API 我遇到了一个奇怪的问题,其中一些HTTP请求以或多或少的固定间隔超时。我每隔45-60分钟都会在某个地方超时 以下是此类超时的频率 下面是我创建HttpClient的方法 ServicePointManager.DefaultConnectionLimit = 100; _client = new HttpClient(new Http

我使用System.Net.Http.HttpClient的单个实例将请求从windows服务发送到多个RESTful API

我遇到了一个奇怪的问题,其中一些HTTP请求以或多或少的固定间隔超时。我每隔45-60分钟都会在某个地方超时

以下是此类超时的频率

下面是我创建HttpClient的方法

        ServicePointManager.DefaultConnectionLimit = 100;
        _client = new HttpClient(new HttpClientHandler
        {
          UseProxy = false,
          Proxy = null
        });
        _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
在某些请求超时后,DefaultConnectionLimit增加。这应该进一步增加还是有一个最佳值可以使用

是否还有其他可能导致此问题的原因

非常感谢您对此提出的任何想法或建议


注意:我正在运行100个线程,并在这些线程上使用SendAsync调用。

这可能是rest服务器上的瓶颈。出现这种情况的原因有很多。其中大多数都不在您的控制范围内,即对于任何给定的连接,服务器可能有最长的时间。任何路由器/防火墙都可能有这样的机制。请尝试在ScriptManager中增加超时。如果您有一个AsyncPostBackTimeout=“400”@Frost\u Moonee,我已经将与HttpClient关联的超时设置为30秒,并且它实际上在该点超时。据我所知,这将提供相同的功能,如果我错了,请纠正我。@Paulch先生,我只有在从windows服务运行时才面临这个问题。我有另一个restapi调用这个restapi进行类似的调用,并且在任何时候都没有遇到这个问题。因此,我怀疑在作为windows服务运行时有什么原因导致了此问题。这可能是rest服务器上的瓶颈。发生这种情况的原因有很多。其中大多数都不在您的控制范围内,即对于任何给定的连接,服务器可能有最长的时间。任何路由器/防火墙都可能有这样的机制。请尝试在ScriptManager中增加超时。如果您有一个AsyncPostBackTimeout=“400”@Frost\u Moonee,我已经将与HttpClient关联的超时设置为30秒,并且它实际上在该点超时。据我所知,这将提供相同的功能,如果我错了,请纠正我。@Paulch先生,我只有在从windows服务运行时才面临这个问题。我有另一个restapi调用这个restapi进行类似的调用,并且在任何时候都没有遇到这个问题。因此,我怀疑在作为windows服务运行时,有什么东西导致了这个问题。