2011-02-08 4 views
2

Из моего приложения WinForms я должен вызвать веб-сервис, и для этого я использую веб-ссылку. На данный момент проблем нет, но теперь у меня есть клиент, который использует программное обеспечение за прокси-сервером, которое находится за балансировщиком нагрузки.Как отключить постоянные соединения для вызовов веб-службы

Устройства Webservice идут хорошо, но через две минуты они терпят неудачу. Мы можем обойти это, неоднократно называя веб-сервис с интервалом менее двух минут.

Оказывается, что балансировщик нагрузки отключает сеансы tcp, когда они не используются в течение двух минут, по-видимому, это то, что происходит в нашем случае, и программное обеспечение не может восстановиться.

Как сообщить привязанному веб-ссылке использовать новое соединение tcp для каждого вызова веб-службы?

+0

Вы распоряжающихся прокси объектов между вызовами? – e36M3

ответ

1

Если переопределить GetWebRequest метод прокси-сервера, то вы можете установить KeepAlive свойство:

public override WebRequest GetWebRequest(Uri uri) 
{ 
    HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri); 
    request.KeepAlive = false; 
    return request; 
} 
+0

Я могу отключить KeepAlive на веб-сервере, но я продолжаю видеть прокси-соединение: Keep-Alive в заголовках. –

+0

@fordan: это будет для веб-прокси, а не для основного подключения. Я не знаю, как это изменить, или что это значит. –

Смежные вопросы