2013-08-01 62 views
12

我正在開發使用C#的桌面應用程序,該應用程序通過WCF Web服務與服務器進行通信。它應該是一種同步應用程序。這意味着,當我在客戶端應用程序上進行一些更改時,我應該立即更新服務器(這很容易使用服務調用),但是也應該反過來提供此機制,服務器上的更改必須立即應用於多個客戶端。我知道我可以對我的服務器進行輪詢,但這對我來說看起來並不整齊,而且我也聽說過雙工服務,但我不確定我是否可以使用它來實現此機制。服務器和客戶端應用程序之間的推送通知機制

我對這個問題提出了一些建議。提前致謝。

+1

檢查http://signalr.net/使用瀏覽器控制它滿足您的要求...希望這可以幫助您... –

+3

WCF雙工服務將滿足您的需求。看看這裏:http://www.codeproject.com/Articles/491844/A-Beginners-Guide-to-Duplex-WCF –

+0

你確定signalr.net符合我的要求嗎?因爲我正在寫一個桌面應用程序,但是這看起來像只在網上工作?我錯了嗎? –

回答

2

托爾加, 可以使用的WinForms與signalR,服務器端可以asp.net或獨立的Windows應用程序..

+0

謝謝隊友,我會檢查signalR的東西。我一直聽到這種說法,但我認爲它只適用於Web應用程序,如果它也支持winform,它可能是雙面服務的替代品。 –

1

PushSharp:服務器端庫發送推送通知給客戶(客戶基本上是移動設備 - 但也可以自定義)! 您也可以在Google上獲得一些有關PushSharp使用的教程。

0
 var webAddr = "https://fcm.googleapis.com/fcm/send"; 

     var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr); 
     httpWebRequest.ContentType = "application/json"; 
     httpWebRequest.Headers.Add("Authorization:key=YOUR_SERVER_KEY"); 
     httpWebRequest.Method = "POST"; 

     using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) 
     { 
      string json = "{\"to\": \"/topics/news\",\"notification\": {\"body\": \"New news added in application!\",\"title\":\"" + Your_Notif_Title+ "\",}}"; 
      streamWriter.Write(json); 
      streamWriter.Flush(); 
     } 

     var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); 
     using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) 
     { 
      result = streamReader.ReadToEnd(); 
     } 
相關問題