Как отключить постоянные соединения для вызовов веб-службы - PullRequest
2 голосов
/ 08 февраля 2011

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

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

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

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

1 Ответ

1 голос
/ 08 февраля 2011

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

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