簡體   English   中英

為什么需要wcf雙工?

[英]why is wcf duplex required?

在服務器上運行方法之后,WCF雙工執行回調,然后在客戶端上運行代碼。

如果我想通過按服務器上的按鈕從服務器上的客戶端上執行一種方法,那么我認為WCF雙工不合適。

為什么我不只是在兩個應用程序的每個末端都創建一個客戶端和一個服務器?

我是對您以前的問題發表評論的人之一,所以我可能在這里欠您一個答案:o)

您已經發布了很多代碼,而我沒有詳細介紹它。 但是,總的來說,有一個原因通常使用wsDualHttpBinding和雙工協定,而不是更多地使用對等方法來實現雙方的服務,原因如下:

如果您有明確定義的且永久運行的服務器,則雙工方法是合適的。 這提供了交互的樞紐 這個想法是,客戶端在某種程度上比服務器更具瞬態性。 客戶端可以啟動,關閉或移動位置,服務器不需要事先知道它們。 客戶端啟動時,將對其進行預配置以了解服務器的位置,以便它可以向服務器“注冊”自身。

相反,不需要預先配置服務器即可知道客戶端的位置。 它會啟動,並且可以獨立於任何客戶端運行。 它僅接受具有有效憑據的所有客戶端上線的所有“注冊”,並且可以在客戶端脫機后繼續運行。 同樣,如果客戶端移動,它只是在服務器的新位置重新注冊自己。

因此,從某種意義上說,服務器是系統中更“重要”的部分。 沒有服務器,沒有客戶端可以參與通信,但是服務器可以獨立於任何客戶端運行。

要使用WCF雙工服務來執行此操作,您必須自己做一些額外的工作才能實現發布/訂閱行為。 幸運的是,MSFT模式和實踐團隊已經提供了一些指導,以幫助您實現目標。

http://msdn.microsoft.com/en-us/library/ms752254.aspx

這與真正的點對點方法根本不同,在真正的點對點方法中,網絡沒有明確定義的集線器(即服務器),每個節點可以來去去而不會影響網絡的整體功能。

當您具有“發布/訂閱”設置(也稱為“ 觀察者模式” )時,將使用WCF Duplex。 假設您有一項訂閱某種通知(例如新電子郵件)的服務。 通常,您需要定期檢查更新。 使用WCF Duplex,發布者可以在更新時自動通知訂閱者。

暫無
暫無

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

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