2011-03-02 22 views
9

使用WCF雙工(Chat Service | Sms Service)開發迷你項目後,我得到了一個可能不正確的點!WCF Duplex是不錯的選擇嗎?

我相信雙面理論是好的和有用的,但是關於使用Wcf Duplex有很多問題。 (如可靠的會話,超時例外,客戶端地址 - 管理服務器端,代理管理客戶端)

我想錯了?我想念什麼?

更多信息我用wsDualHttpBinding不是tcpBinding。

回答

14

如果你需要雙向通信,並且你想使用WCF,雙工信道是最好的選擇。您只需要正確設計您的應用程序並正確處理您所描述的所有問題。如果您覺得這些問題是開銷過大並且讓事情變得更糟,您可以始終直接使用網絡編程(套接字),或者通過在服務器和客戶端上展示單獨的服務來處理雙向通信(首先從客戶端通知服務器關於客戶端地址的通知) - 這種情況將遭受與WsDualHttpBinding相同的通信問題。

WsDualHttpBinding本身是一種特殊的雙工通信。我個人不喜歡它,因爲人們經常濫用它。問題是這個綁定使用兩個單獨的連接 - 一個從客戶端到服務器,另一個從服務器到客戶端。這對於只使用從客戶端到服務器啓動的連接的net.tcp有很大的區別。很顯然,通過因特網(=你無法控制客戶端機器)使用WsDualHttpBinding會變得複雜得多,因爲每個客戶端都必須配置其防火牆(在計算機,家庭Internet網關等)以允許在某個端口上進行連接。此外,如果您想在同一客戶機上運行多個應用程序實例,則每個實例都必須使用自己的端口。

+0

謝謝...對於好的技巧,如果可能的'關於Wcf雙工的良好樣品' – Rev 2011-03-02 10:35:03

+0

沒有好的樣品,它總是取決於當前的要求。 – 2011-03-02 10:43:39

相關問題