2011-09-24 18 views
5

Servisle masaüstü uygulaması veya web sayfası arasında iletişim kurmanın önerilen yolu nedir?SERVICE ve web/desktop uygulaması arasında iletişim kurma

Hizmetin tüm işler yapmak istiyorum, ama yönetici/yönetim/raporlama web veya masaüstü aracılığıyla mümkün olduğunu.

borulara adında mı (O .Net 4.0 ile C# yazılır)? prizler? wcf? dinlenme ? sabun? diğer ? En iyi uygulama nedir?

Herhangi bir bilgi büyük takdir edilecektir.

hizmet yüzden herhangi haberleşme zaman uyumsuz olması gerekir etkin bir gerçek zamanlı olması gerekir.

Teşekkür Andrew

GÜNCELLEME 1 - Bir hizmet olarak hizmet ağ trafiğini kontrol GERÇEK ZAMANLI. İstemci yerel olabilir veya uzak olabilir (ASP.NET/MVC veya hatta silverlight kullanarak). İstemcinin gerçek zamanlı verilere ihtiyacı yoktur, ancak AYARLAR, İstatistikler, Günlüklerler, vb. Sorgulaması yapılmalıdır.

+1

Bu çok belirsiz. Bir çok şeye bağlıdır: Müşterilerinizin ve sunucunuzun birbiriyle, veri hacmiyle, kalıcılık/güvenilirlik gereksinimleriyle ilgili olduğu yerlerde. – Joe

+0

Sadece güncellenen soru ... Bu yeterli detay mı? – user296191

cevap

1

Kodun her iki ucu da kontrol ediliyorsa, herhangi bir özel gereksinimi engellerse, WCF'yi tercih ederim çünkü "çok basit".

Choosing a (WCF) Transport bakınız:

bir adlandırılmış kanal Windows işletim sistemi çekirdeği bir nesne gibi gibi şudur: (! Ooo la la) Named Pipes TCP HTTP'den gitmek kolay işlemin paylaşıldığı paylaşılan bellek bölümü iletişim için [okuma: çok hızlı] kullanabilirsiniz. Adlandırılmış bir adın bir adı vardır ve tek bir makinede arasındaki işlemler arasında tek yönlü veya çift yönlü iletişim için kullanılabilir. Tabii

, aynı makine gereksinimi ihlal edilirse, o zaman HTTP/TCP ağ yapılandırmasına bağlı olarak yerine kullanılabilir, vs - fark kodlamak için? Bir yapılandırma ayarı :)

Mutlu kodlama.

+0

Teşekkürler ... Sadece soru güncellendi ... Hala WCF'yi önerin? – user296191

+0

Ben onunla devam ediyorum: Hizmet-istemci iletişimi bireysel istekler (belki periyodik, ancak nispeten büyük karmaşık yükler ile) tehlikeye ama sesler kendisi bir veri akışı değil gibi geliyor gibi geliyor. Tabii ki, WCF'nin ilgili ya da ilgili olmayan bir "Microsoft merkezli çözüm" olduğunu aklınızdan çıkarmayın. –

1

soru WCF veya HTTP veya TCP olarak istenir. WCF son derece esnek bir iletişim temeli. Kodunuzu bir kez yazabilir ve veri sınıflarınızı ve fly switch üzerinde HTTP JSON/POX, TCP, İkili, HTTP üzerinden ikili, özel serileştirme vb. Yapılandırma ve kodlama yoluyla yazabilirsiniz. Seçtiğiniz aktarım mekanizmasına ilişkin soru Yönlendirme/güvenlik duvarı sınırlamaları, istemciler vb. temel alınarak ... HTTP ve JSON/XML gibi tanıdık aktarımları, evrensel, yönlendirilebilir ve tanınabilir olduklarından (check out fiddler2) dolayı seviyorum. anlattıklarına bakılırsa

, bu hizmeti gerçekleştiren GERÇEK ZAMANLI ağ trafiğini izleme problemin sert bir parçası gibi görünüyor. İstemci ve bu servis arasındaki kanal sorunun daha basit bir parçası gibi görünüyor.

Ayrıca açıklamasından, müşteri GERÇEK ZAMANLI ve basit istatistikler, ayarlar ve günlükleri sorgulama olması gerekmez. İstemci yerel veya uzak olabileceğinden (uzaktaki, intranetin dışında bir şekilde yönlendiren, dışarıdan yönlendiren uzak) olabilir.

Bu nedenle, REALTIME ağ istatistikleri toplama işlemini, sorgulama bölümünden belirttiğim gibi çözerim. Bu noktada servis, basit istatistikleri, ayarları ve günlükleri sorgulamak için istemcilere bir kanal açıyor ... HTP, REST JSON | XML gibi en yönlendirilebilir ve teşhis edilebilir kanalı seçin. Bu bir sorunsa, WCF sunucu kodunuzu sağlam tutun ve WCF bağlamaları yapılandırmasını değiştirin.

Soru biraz açık uçlu ve belirsizdir ama umarım bu biraz yardımcı olur.

İlgili konular