簡體   English   中英

使用SOAP HTTPS和Duplex進行WCF綁定

[英]WCF Binding with SOAP HTTPS and Duplex

我發現自己需要找到一個使用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 });

        }

在檢查安全傳輸要求時說我的合同配置了要求完整性和機密性的身份驗證模式,這給我一個無效的操作異常。 但是,運輸無法提供完整性和機密性。

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

謝謝

編輯:

我確實設法使WSDualHttpBinding可以在某一時刻正常工作,但似乎HTTPS不可能用它(以及互聯網上的其他人都說甚至不應該使用它)

HTTP不是雙工協議-它的請求/響應-這就是wsDualHttpBinding使用兩個連接的原因-每個方向一個。 Silverlight通過在幕后輪詢來自客戶端的消息來實現HTTP上的雙工

NetTcpBinding使用TCP,它可以很高興地是雙工的

如果您可以等到今年晚些時候發布4.5,則可以使用NetHttpBinding,它使用WebSocket協議進行雙工

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM