2011-02-09 88 views
0

这是this question上关于如何打开标题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标题?

编辑:
Googleing围绕我想,我必须设置webRequest.Connection = "Close";webRequest.Connection = null;,但这些结果在参数异常。

回答

0

即使不能更改Proxy-Connection标头。

,我试图实现(关闭客户端和代理之间的负载均衡器之前TCP连接到代理2分钟不活动后杀死它)结果通过设定

ServicePointManager.MaxServicePointIdleTime = 100000;

实现ServicePointManager在100秒之后关闭底层连接,远在它被负载均衡器杀死之前,并在必要时创建一个新连接。