我正在使用我的应用程序中的.NET HttpClient来访问Web服务。问题是通过ISP负载均衡器访问Web服务,并且已经在客户处安装了应用程序(现在无法更新)。如果负载均衡器更改为另一个ISP,则连接将保持活动状态,并且请求将超时。
我可以在应用程序配置文件中为ServicePoint设置ConnectionLeaseTimeout吗?
答案 0 :(得分:0)
TL; DR:我认为您不走运。
您可以使用<servicePointManager>
配置元素(configuration/system.net/settings/servicePointManager
)配置一些全局默认值。不幸的是,连接租用超时似乎没有可更改的默认值。
另外,似乎没有办法通过配置为特定端点执行任何设置。
也许您正在访问的Web服务可能会对连接保持打开状态施加某种限制。如果您考虑一下,对他们来说,控制该策略很有意义,因为他们正在负载均衡其服务。
答案 1 :(得分:0)
当然,您可以在配置中指定ConnectionLeaseTimeout。但是,您还必须读取并应用此值。您还提到无法更新应用程序,因此我不确定此信息将如何为您提供帮助。
有关代码示例,请参考here。行号550,然后查找ConnectionLeaseTimeout。