SORU
3 EKİM 2011, PAZARTESİ


Arama sistemi başka bir yerden müşterileri SignalR hub

Sunucu ve istemci arasında iletişim kurmak için SignalR hub kurdum. Hub sunucu tarafı kodu bir sınıf Çengel adlı saklanır.cs. İstediğim bir yöntem Çengel tanımlanan arayabilir.benim başvurum her yerinden tüm bağlı istemciler için mesaj yayınlamak için izin cs. Takma yeni bir örneği gibi görünüyor.cs gibi bir şey kullanmak mümkün olacağını ümit etmiştim her istemci/sunucu arama için oluşturulur

var hooking = new Hooking();
hooking.Test();

yöntem Testi ile() Takma tanımlanmış.cs gibi

public static void Test() {
    Clients.test()
}

ve istemci tarafı javascript ile

var hooking = $.connection.hooking;
hooking.test = function() { alert("test worked"); };
$.connection.hub.start()

Ne yazık ki Müşteriler statik değil, öyle değil statik bir yöntem açık olarak bu kadar basit değil.

SignalR kaynak kodu bakarak karşısında umut verici görünen bir yöntemi geldim, Hubs.Invoke(string hubName, string method, params object[] args), Hubs.Invoke("Hooking", "Test") gibi bir şey kullanmak isterdim isterdim ama yapamam.

Bu konuda herhangi bir yardım çok mutluluk duyacağız

CEVAP
6 HAZİRAN 2012, ÇARŞAMBA


Bu SignalR 2 için doğru yoldur.x:

var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.All.addMessage(message);

Temel olarak, geçerli ana bilgisayar için bağımlılık çözücü kapsamında ele hub için nesne almak için izin verir IConnectionManager arabirim gidermek için kullanabilirsiniz.

Daha fazla bilgi official documentation bulunabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Break

    Break

    10 Aralık 2005
  • Hidden Wolf TV

    Hidden Wolf

    1 EKİM 2009
  • Professor Messer

    Professor Me

    27 NİSAN 2007