WSDualHttpBinding
ile çalışan bir dupleks WCF hizmetim var. Sorunum, geri arama kanalını benzersiz bir kimlikle depolamanın bir yolunu bulmaktır. Hizmetin uzun süredir çalışması amaçlanmıştır. Bir "Abone Ol" yöntemi çağrıldığında ve bir liste veya sözlükte sakladığımda OperationContext.Current.GetCallbackChannel()
dönüş değerini alabilir miyim? Bağlantı yaşana kadar geçerli olduğu garanti ediliyor mu?İstemcileri bir WCF hizmetinde tanımlama
cevap
En kolay yol, istemcinizin hizmetinizin Abone Olma yönteminde önemli bir değer vermesini sağlamaktır. Ardından, geri arama kanalını bir sözlükte kaydedebilirsiniz. Bu sözlük muhtemelen hizmet sınıfının bir PerCall ömrüne sahip olduğu ve servis çağrısının tamamlanmasından sonra bertaraf edileceği için ömrü Hizmet Sınıfının ömrünün üzerinde olan bir statik değişken veya tek bir sınıf olmak zorundadır. Iş parçacığı sorunları dikkat!
Geri arama kanalı, istemcide veya servis tarafında herhangi bir zamanda arızalanabilir. Hizmet, hatalı bir kanal olasılığını işlemek ve arızalı kanalı sözlükten kaldırmak zorundadır. WSDuallHttpBinding bir "Vatansız" bağlacıdır; bu nedenle, istemcideki herhangi bir arıza, servis tarafı bunları çağırmaya çalışana kadar servis tarafında algılanmaz. İstemci hatalı bir duruma girerse, NetTcpBinding ChannelFaulted olayını yükseltir. Bu nedenle, gereksinimlerinize uyuyorsa NetTcpBinding öğesini öneriyorum.
public bool Subscribe(string id) {
ICallback callback = OperationContext.Current.GetCallbackChannel();
if (!_activeCallbackChannels.Contains(id)) {
_activeCallbackChannels.Add(id, callback);
return true;
}
else {
return false;
}
}
- 1. Arabirimi bir WCF Hizmetinde Geçirme?
- 2. Wcf Hizmetinde Yanlış SPContext
- 3. WCF hizmetinde arabellek boyutu
- 4. HttpContext, WCF hizmetinde null?
- 5. WCF hizmetinde wsdl dosyası nerede
- 6. WCF hizmetinde özel sertifika doğrulaması
- 7. HTTP önbellek denetim üstbilgileri WCF hizmetinde ayarlama
- 8. WCF hizmetinde taban adresinin kullanımı nedir
- 9. WCF hizmetinde WebHttpBinding uygulamasına erişim oturumu
- 10. Bir WCF kendi kendine barındırılan hizmetinde bir Singleton hizmeti belirtin
- 11. HttpContext.Current bir WCF hizmetinde boş olması gerekmez mi?
- 12. Bir Windows hizmetinde barındırılan WCF servisime IoC Desteği Ekleme (Autofac)
- 13. Android istemcisiyle WCF web hizmetinde nasıl hata ayıklanır?
- 14. İstemcileri asansörü kullanarak farklılaştırma
- 15. DropWizard/Jersey API İstemcileri
- 16. Web hizmetinde bir arabirim nasıl ortaya çıkarılır
- 17. Bir Windows Hizmetinde bir WCF Hizmetini barındırabilir (kendi kendini barındırabilir) ve http?
- 18. Bir WCF web hizmetinde dönüş parametresinin bir çıkış parametresinin sonlandırılmasını nasıl önleyebilirim? aşağıdaki gibi
- 19. Bir WCF hizmetinin doğrulanması
- 20. WCF hizmetindeki Access App_Data
- 21. JSP'de bir sınıf tanımlama
- 22. İstemci IP adresini, HTTPS 443 bağlamaları kullanılarak barındırılan bir WCF Hizmetinde alın
- 23. STA COM bileşenleri, IIS'de (7+) barındırılan bir WCF hizmetinde kullanıldığında nasıl kullanılır?
- 24. Tmux istemcileri arasındaki pencereyi taşıma
- 25. Idle redis istemcileri nasıl öldürebilirim
- 26. Pygame mainloop içindeki Twisted istemcileri?
- 27. Seçilmiş Durum Hızlı Tanımlama UI Testlerini Tanımlama
- 28. WCF. Hizmet genel yöntemleri
- 29. Bir IValueConverter sınıfında Özellik Tanımlama
- 30. Bir Stil İçindeki InputBindings'i Tanımlama