Как отключить постоянные прокси-соединения - PullRequest
0 голосов
/ 09 февраля 2011

Это продолжение этого вопроса о том, как включить Connection: Keep-Alive заголовки на HttpWebRequest.

Я успешно отключил Connection: Keep-Alive заголовки из своего веб-сервисавызова, но когда я использую прокси-сервер, он также отправляет CONNECT xxx.xxxxx.xx:443 HTTP/1.1 на прокси-сервер перед отправкой вызова на сервер.

При этом вызове CONNECT отправляется группа заголовков:

System.Net Information: 0 : [5420] ConnectStream#33166512 - Sending headers<br> {<br> Proxy-Authorization: Basic xxxxxxxxxxxxxxx==<br> Host: xxx.xxxxx.xx<br> Proxy-Connection: Keep-Alive<br> }.

Я хочу избавиться от Keep-Alive и изменить его на Close, но не могу узнать, как управлять этим заголовком.Как изменить или отключить заголовок Proxy-Connection?

Редактировать:
Поискив вокруг, я решил, что должен установить webRequest.Connection = "Close"; или webRequest.Connection = null;, но это приводит к исключению аргумента.

1 Ответ

0 голосов
/ 16 февраля 2011

Очевидно, что изменить заголовок Proxy-Connection невозможно.

Результат, которого я пытался достичь (закройте tcp-соединение с прокси-сервером до того, как балансировщик нагрузки между клиентом и прокси-сервером уничтожит его через 2 минуты бездействия), был достигнут установкой

ServicePointManager.MaxServicePointIdleTime = 100000;

ServicePointManager закрывает основное соединение через 100 секунд, задолго до того, как оно будет уничтожено балансировщиком нагрузки, и создает новое при необходимости.

...