2013-08-01 18 views
12

Bir WCF Web Hizmeti üzerinden bir sunucuyla iletişim kuran bir C# kullanarak bir masaüstü uygulaması geliştiriyorum. Bir tür senkronizasyon uygulaması olması gerekiyordu. İstemci uygulamasında bazı değişiklikler yaptığımda, sunucuyu da hemen güncellemeliyim (bu servis çağrılarını kullanarak kolaydır), fakat aynı zamanda bu mekanizmanın da sağlaması gerekir, sunucudaki bir değişiklik birkaç müşteriye hemen uygulanmalıdır. Sunucuma oy verebileceğimi biliyorum ama bu bana düzgün görünmüyor ve dubleks hizmetlerini de duydum ama bu mekanizmayı uygulamak için kullanabileceğimden emin değilim.Bir sunucu ve bir istemci uygulaması arasındaki Bildirim mekanizması itme

Bu konuyla ilgili bazı önerilerde bulunuyorum. Şimdiden teşekkürler.

+1

onay http://signalr.net/ kullanımı tarayıcı kontrolü kendi karşılamak için gereksinim ... siz ... –

+3

WCF dubleks hizmetleri ihtiyaçlarınızı uyacak bu yardımı umuyoruz. Burada bir göz atın: http://www.codeproject.com/Articles/491844/A-Beginners-Guide-to-Duplex-WCF –

+0

sinyalr.net'in benim gereksinimlerimi karşıladığından emin misiniz? Çünkü bir masaüstü uygulaması yazıyorum, ancak bu sadece web üzerinde çalışıyor gibi görünüyor? Yanlış mıyım? –

cevap

7

Yayınlama ve abonelik tasarımı uygulamanız gerekir. WCF'de, dubleks istemcilere ve sunucuya bağlanmak için net-tcp protokolünü kullanabilirsiniz.

Sen http://www.idesign.net/Downloads/GetDownload/2032

üzerinde oldukça iyi uygulanmasını indirmek olabilir Ve iyi makale here bulacaksınız.

Selamlar

2

tolga, sen, sunucu tarafı asp.net veya bağımsız bir pencere uygulaması olabilir signalR ile Win kullanabilirsiniz ..

+0

Teşekkürler dostum, ben bu sinyali kontrol edeceğim. Bunu duydum, ancak sadece web uygulamaları ile çalıştığını düşündüm, eğer winformlarda da destekleniyorsa, dubleks hizmetlerine gerçekten bir alternatif olabilir. –

1

PushSharp: müşterilerine itin Bildirimler gönderilmesi için bir sunucu tarafı kütüphane (istemciler temelde mobil cihazlar - ama aynı zamanda özel olabilir)! Ayrıca, PushSharp kullanımı hakkında bir eğitim almak için google.

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(); 
     } 
İlgili konular