我需要允許多個客戶端(winforms應用程序)通過互聯網(遠程位置)連接到服務器,並啓動雙工通信,有時發送交通繁重。WCF(或其他解決方案)安全雙工通信的最佳方法
目前我們正在使用帶有WCF的netTcpBinding使用雙工通信,使用我們自己的證書對傳輸層進行了保護。雖然這個工作,我關注的一些事情:
- 它是一個痛苦的設置 - 我們創建了一個證書,爲每個客戶端與服務器識別它,並需要對每個客戶端註冊證書客戶端機器和服務器
- 因爲我們在某個端口上使用tcp,所以我們依靠在客戶端打開該部分,以便它可以通過tcp啓動通信。一些客戶位置不喜歡這個。
- 我們需要能夠保證交貨理想
作爲替代,我想知道如何使用wsDualHttpBinding,用一個單一的SSL證書來保護它,讓每個客戶端發送某種標識來識別自己。這是否會解決防火牆問題的問題,並且它會通過http而不是tcp執行嗎?從我所知道的WCF將創建2個頻道,而不是一個,如果你使用http(因爲http doens't支持雙向通信) - 這樣聽起來像它可能會導致一些問題的表現..
我的問題是,這個解決方案是否更好,還是有其他解決方案(如NServiceBus)可以使這更容易並解決這些問題?
編輯
我因爲得知wsDualHttpBinding不適合我,因爲一個選項:This binding requires that the client has a public URI that provides a callback endpoint for the service
。這對我來說是不可能的。
您是否繼續在netTcpBinding服務中的項目或將其更改爲另一個WCF解決方案?我有一個桌面應用程序在客戶端機器和服務器應通過互聯網相互綁定。 – Hamid 2015-12-22 04:52:16