我可以在应用程序配置文件中为ServicePoint设置ConnectionLeaseTimeout吗?

时间:2018-06-08 10:06:00

标签: .net dotnet-httpclient

我正在使用我的应用程序中的.NET HttpClient来访问Web服务。问题是通过ISP负载均衡器访问Web服务,并且已经在客户处安装了应用程序(现在无法更新)。如果负载均衡器更改为另一个ISP,则连接将保持活动状态,并且请求将超时。

我可以在应用程序配置文件中为ServicePoint设置ConnectionLeaseTimeout吗?

2 个答案:

答案 0 :(得分:0)

TL; DR:我认为您不走运。

您可以使用<servicePointManager>配置元素(configuration/system.net/settings/servicePointManager)配置一些全局默认值。不幸的是,连接租用超时似乎没有可更改的默认值。 另外,似乎没有办法通过配置为特定端点执行任何设置。

也许您正在访问的Web服务可能会对连接保持打开状态施加某种限制。如果您考虑一下,对他们来说,控制该策略很有意义,因为他们正在负载均衡其服务。

答案 1 :(得分:0)

当然,您可以在配置中指定ConnectionLeaseTimeout。但是,您还必须读取并应用此值。您还提到无法更新应用程序,因此我不确定此信息将如何为您提供帮助。

有关代码示例,请参考here。行号550,然后查找ConnectionLeaseTimeout。