如何关闭持久代理连接

时间:2011-02-09 10:08:17

标签: c# web-services session proxy asmx

这是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;,但这些会导致参数异常。

1 个答案:

答案 0 :(得分:0)

显然无法更改Proxy-Connection标题。

我试图实现的结果(在客户端和代理之间的负载均衡器在2分钟不活动之后将其关闭之前关闭与代理的tcp连接)通过设置实现

ServicePointManager.MaxServicePointIdleTime = 100000;

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