2011-11-11 65 views
4

我目前正在開發一個C#Windows窗體應用程序,我打算讓它與服務器交互。服務器將從我開發的移動應用程序接收發布信息,並且每當收到發佈信息時,我的Windows窗體應用程序都應該得到通知並給我一個通知。我應該如何編寫我的C#Windows窗體應用程序的事件處理程序?

E.g.我的移動應用程序將消息發送到我的服務器。一旦我的服務器收到消息,我的Windows窗體應用程序應該顯示一個新的通知,顯示收到的消息的內容。

上面的場景只是我打算對整個事情做的一個例子。任何想法我應該如何編碼我的C#應用​​程序才能接收上述信息?

回答

5

您可以在服務器內部實現WCF服務。您的Windows窗體應用程序可以是您的WCF服務客戶端。

你可能想要的是一個Duplex Service

他們的方式這樣的工作是

  1. WCF服務在你的服務器上運行
  2. 使用雙面合同
  3. Windows窗體連接到您的服務器WCF服務
  4. 移動應用發佈到服務器
  5. WCF服務知道它並使用回撥通道通知WCF客戶端
  6. 你的表單應用程序也稱爲WCF客戶端更新與這個新的消息UI收到
+0

喜。謝謝您的回覆。關於第4步,當移動應用程序發佈到服務器時,服務如何知道? – Thomas

+0

@Thomas沒有關於移動應用程序平臺的詳細信息,這很難回答。你可以連接到移動應用程序的標準Web服務嗎?也許你可以從服務器 –

+0

中發現服務器收到一條信息時,它會從WCF服務調用一個方法,說它發送了一條信息併發送信息。一旦該方法被調用,(步驟4),wcf服務將接收該信息。但是從那裏開始,它如何使用回撥通道將信息發送給第二客戶端? – Thomas

0

作爲替代答案@parapura費道宜,你也可以調查一個Message Queue architecture,其中從移動應用程序發送的消息背後,是可見到服務器和Windows客戶端。

也許稍微重量級的,但肯定值得考慮的,特別是如果您懷疑應用程序可能需要在複雜增長在未來...

相關問題