如何禁用basicHttpRelayBinding到Azure服务总线的keep-alive?

时间:2012-01-28 18:11:49

标签: c# wcf servicebus azureservicebus

我正在尝试禁用HTTP keep-alive,而我似乎无法找到有关如何实现这一目标的任何文档。最终,我偶尔会得到:

  

System.ServiceModel.CommunicationException :底层连接已关闭:服务器已关闭预期保持活动状态的连接

我听说最好的方法就是禁用HTTP keep-alive

1 个答案:

答案 0 :(得分:1)

最终我通过一个小帮助函数解决了我自己的问题,该函数接受了我的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;
    }