这是this question关于如何在Connection: Keep-Alive
上转换HttpWebRequest
标题的后续行动。
我已成功禁用了我的Web服务调用中的Connection: Keep-Alive
标头,但是当我使用代理时,它还会在将调用发送到服务器之前向代理发送CONNECT xxx.xxxxx.xx:443 HTTP/1.1
。
通过此CONNECT
调用,会发送一堆标题:
System.Net Information: 0 : [5420] ConnectStream#33166512 - Sending headers
{
Proxy-Authorization: Basic xxxxxxxxxxxxxxx==
Host: xxx.xxxxx.xx
Proxy-Connection: Keep-Alive
}.
我想摆脱Keep-Alive
并将其更改为Close
,但无法找到如何控制此标头。如何更改或禁用Proxy-Connection
标题?
编辑:
谷歌我认为我必须设置webRequest.Connection = "Close";
或webRequest.Connection = null;
,但这些会导致参数异常。
答案 0 :(得分:0)
显然无法更改Proxy-Connection
标题。
我试图实现的结果(在客户端和代理之间的负载均衡器在2分钟不活动之后将其关闭之前关闭与代理的tcp连接)通过设置实现
ServicePointManager.MaxServicePointIdleTime = 100000;
ServicePointManager
在100秒后关闭基础连接,远在它被负载均衡器杀死之前,并在必要时创建一个新连接。