【问题标题】:WCF Binding with SOAP HTTPS and DuplexWCF 绑定与 SOAP HTTPS 和双工
【发布时间】:2012-05-17 21:01:37
【问题描述】:

我发现自己需要找到一个使用 HTTPS/SOAP 并且必须是双工的 WCF 绑定。我以前以编程方式使用 NetTcpBinding,但现在绑定必须是 HTTPS/SOAP。我做了一些研究,似乎不创建自己的 CustomBinding 是不可能的。

但是,我有点不知所措(对绑定和设置不太熟悉)。我似乎无法获得所需的正确绑定元素:

    public class CustomHttpsBinding : CustomBinding
    {
        public CustomHttpsBinding() 
        {
        }


        public override BindingElementCollection CreateBindingElements()
        {
            ReliableSessionBindingElement https = new ReliableSessionBindingElement();

            SecurityBindingElement security = SecurityBindingElement.CreateCertificateOverTransportBindingElement();

            CompositeDuplexBindingElement duplex = new CompositeDuplexBindingElement();

            SslStreamSecurityBindingElement ssl = new SslStreamSecurityBindingElement();

            MessageEncodingBindingElement encoding = new GZipMessageEncodingBindingElement((MessageEncodingBindingElement)  new BinaryMessageEncodingBindingElement());

            HttpsTransportBindingElement transport = new HttpsTransportBindingElement();

            return new BindingElementCollection(new BindingElement[] { https, security, duplex, ssl, encoding, transport });

        }

在检查 soap 是否满足安全传输要求时,它给了我一个无效的操作异常,说我的合同配置了需要完整性和机密性的身份验证模式。但是,传输无法提供完整性和机密性。

好像我的 HttpsTransportBindingElement 不正确?我不确定。

谢谢

编辑:

我确实设法让 WSDualHttpBinding 在某一时刻工作,但它似乎无法使用 HTTPS(以及互联网上的其他人说它甚至不应该使用)

【问题讨论】:

    标签: c# wcf soap https duplex


    【解决方案1】:

    HTTP 不是双工协议 - 它的请求/响应 - 这就是 wsDualHttpBinding 使用两个连接的原因 - 每个方向一个。 Silverlight 通过在后台轮询来自客户端的消息来实现 HTTP 上的双工

    NetTcpBinding 使用 TCP,可以很高兴地实现双工

    如果你可以等到今年晚些时候发布 4.5,这里有 NetHttpBinding,它使用 WebSocket 协议进行双工

    【讨论】:

    • 我可以接受 2 个连接。是否可以调整 wsDualHttpBinding(或使用类似的绑定元素)以使用 https?
    • 为什么要求 SSL - 使用 WS-Security 的消息是安全的。什么是 SSL 驱动程序?
    • 这是客户的事情。他们在需要 https/soap 的客户端/服务器之间有一个 xml 网关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    相关资源
    最近更新 更多