我正在開發使用C#的桌面應用程序,該應用程序通過WCF Web服務與服務器進行通信。它應該是一種同步應用程序。這意味着,當我在客戶端應用程序上進行一些更改時,我應該立即更新服務器(這很容易使用服務調用),但是也應該反過來提供此機制,服務器上的更改必須立即應用於多個客戶端。我知道我可以對我的服務器進行輪詢,但這對我來說看起來並不整齊,而且我也聽說過雙工服務,但我不確定我是否可以使用它來實現此機制。服務器和客戶端應用程序之間的推送通知機制
我對這個問題提出了一些建議。提前致謝。
我正在開發使用C#的桌面應用程序,該應用程序通過WCF Web服務與服務器進行通信。它應該是一種同步應用程序。這意味着,當我在客戶端應用程序上進行一些更改時,我應該立即更新服務器(這很容易使用服務調用),但是也應該反過來提供此機制,服務器上的更改必須立即應用於多個客戶端。我知道我可以對我的服務器進行輪詢,但這對我來說看起來並不整齊,而且我也聽說過雙工服務,但我不確定我是否可以使用它來實現此機制。服務器和客戶端應用程序之間的推送通知機制
我對這個問題提出了一些建議。提前致謝。
您需要實施發佈和訂閱設計。在WCF中,您可以使用net-tcp協議在雙工客戶端和服務器中進行連接。
你可以下載一個相當不錯的實現上http://www.idesign.net/Downloads/GetDownload/2032
而且你會發現一個很好的文章here。
問候
托爾加, 可以使用的WinForms與signalR,服務器端可以asp.net或獨立的Windows應用程序..
謝謝隊友,我會檢查signalR的東西。我一直聽到這種說法,但我認爲它只適用於Web應用程序,如果它也支持winform,它可能是雙面服務的替代品。 –
PushSharp:服務器端庫發送推送通知給客戶(客戶基本上是移動設備 - 但也可以自定義)! 您也可以在Google上獲得一些有關PushSharp使用的教程。
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();
}
檢查http://signalr.net/使用瀏覽器控制它滿足您的要求...希望這可以幫助您... –
WCF雙工服務將滿足您的需求。看看這裏:http://www.codeproject.com/Articles/491844/A-Beginners-Guide-to-Duplex-WCF –
你確定signalr.net符合我的要求嗎?因爲我正在寫一個桌面應用程序,但是這看起來像只在網上工作?我錯了嗎? –