2013-08-01 8 views
12

Rozwijam aplikację na komputer przy użyciu C#, która komunikuje się z serwerem za pośrednictwem usługi WCF. Ma to być rodzaj aplikacji synchronizującej. Oznacza to, że kiedy wprowadzam pewne zmiany w aplikacji klienckiej, powinienem również natychmiast zaktualizować serwer (jest to łatwe przy użyciu zgłoszeń serwisowych), ale także ten mechanizm powinien być zapewniony na odwrót, zmiana na serwerze musi być natychmiast zastosowana na kilku klientach. Wiem, że mogę sondować na mój serwer, ale to mi nie wygląda, a także słyszałem o usługach dupleksowych, ale nie jestem pewien, czy mogę go użyć do wdrożenia tego mechanizmu.Mechanizm powiadomień Push między serwerem a aplikacją klienta

Proszę o sugestie dotyczące tego problemu. Z góry dziękuję.

+1

check http://signalr.net/ kontrola przeglądarka wykorzystanie jej spełnić Twoje wymagania ... nadzieję, że to pomoże Ci ... –

+3

WCF usługi dwupoziomowe będzie pasował do Twoich potrzeb. Spójrz tutaj: http://www.codeproject.com/Articles/491844/A-Beginners-Guide-to-Duplex-WCF –

+0

czy jesteś pewien, że signalr.net spełnia moje wymagania? Ponieważ piszę aplikację na komputer, ale wygląda na to, że działa tylko w sieci? Czy się mylę? –

Odpowiedz

2

tolga, można użyć WinForm z signalR, po stronie serwera może być asp.net lub okien aplikacji standalone ..

+0

Dzięki kolego, sprawdzę to signalR rzecz. Słyszałem o tym, ale pomyślałem, że działa tylko z aplikacjami internetowymi, jeśli jest obsługiwany również w winFormach, to naprawdę może być alternatywą dla usług druku dwustronnego. –

1

PushSharp: bibliotekę po stronie serwera do wysyłania powiadomień push do klientów (klienci są w zasadzie urządzeniami mobilnymi - ale mogą być również niestandardowe)! You google, aby uzyskać także samouczek dotyczący używania 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(); 
     }