2011-12-12 78 views
1

當移動員工從他/她的windows phone 7 mobile發送任何消息時,我們的桌面應用程序需要直接更新。如何從Windows Phone 7.5移動應用程序更新我的桌面應用程序

目前我們的要求是,從我們的桌面應用程序發送一條消息到Windows Phone 7.5,我們可以使用PUSH Notifications輕鬆實現,現在當用戶針對發送的消息採取一些措施時,Windows Phone應用程序將調用WCF服務並將消息傳遞給接收消息並放入數據庫的WCF,然後應用程序將其讀取,這就是問題所在。因爲我們的WCF把這個消息放到數據庫中,我們的應用程序每5秒輪詢它一次,如果從我們的任何驅動程序收到任何回覆,那麼它正在更新UI。

我們想要實現的是,當我們收到任何答覆時,我們的桌面應用程序應該會自動通知並取出UI,然後將其放入數據庫中。

所以請分享你在這個問題上的經驗。

感謝

回答

2

爲什麼不更新WCF服務,通知所有已註冊的「聽衆」(即運行客戶端應用程序的實例),該數據庫已經更新新信息?

您可以通過讓您的服務公開可由要註冊某些/所有事件類型的客戶端調用的服務。客戶端應用程序託管實現回調協議的服務,該服務可以在註冊事件引發時調用。

有一個很好的MSDN文章單向,回調和發佈WCF消息:http://msdn.microsoft.com/en-us/magazine/cc163537.aspx

一定要跟蹤並扼制您的客戶端應用每秒接收的事件數 - 您希望發生的最後一件事情是100個客戶端應用全部命中50次服務器,每次50個事件同時發生!

+0

理查德,你的意思是客戶端應用程序,你的意思是我們的桌面應用程序。如果可能的話,請你詳細闡述你的目標解決方案,我正在閱讀上述文章。我是WCF新手,所以如果我提出一個愚蠢的問題,我很抱歉。 – Shax

+0

您在問題描述中提到了桌面應用程序。我假設這個「桌面應用程序」(即客戶端應用程序)將是在發生所述事件並且服務器想要通知應用程序某事已經改變時註冊回調的人。另外,請務必閱讀MSDN論文 - 它將爲您提供許多關於消息傳遞拓撲和解決方案的指導。 –

0

Richard的解決方案可能更合適,因爲它描述了使用打包好的WCF API,這些API將爲您做很多工作。另一種方法可以是自己實施長期投票。您可以在需要立即更新時更新您的Windows Phone客戶端。我在前段時間寫了一個article,如果您在Windows Phone上進行長時間輪詢,您可以找到它。

相關問題