Как отключить keep-alive для базового HTTReReBinding с сервисной шиной Azure? - PullRequest
1 голос
/ 28 января 2012

Я пытаюсь отключить HTTP keep-alive, и я не могу найти никакой документации о том, как этого добиться.В конечном итоге я иногда получаю:

System.ServiceModel.CommunicationException : базовое соединение было закрыто: соединение, которое, как предполагалось, будет сохранено живым, было закрыто сервером

Я слышал, что лучший способ - просто отключить HTTP keep-alive.

1 Ответ

1 голос
/ 22 февраля 2012

В конечном итоге я решил собственную проблему с помощью небольшой вспомогательной функции, которая берет мой basicHttpRelayBinding и соответствующим образом изменяет его:

private static System.ServiceModel.Channels.Binding GetBinding(System.ServiceModel.Channels.Binding bIn)
    {
        var bOut = new CustomBinding(bIn);
        var transportElement = bOut.Elements
              .Find<HttpsRelayTransportBindingElement>();
        transportElement.KeepAliveEnabled = false;
        return bOut;
    }
...