2.1.2 sürümünde SignalR kullanıyorum. Kullanmam için iki kamu hub sınıfı olduğunu, Hub
ve Hub<T>
olduğunu fark ettim. Birincisi, eski tarihli gibi görünen bir MSDN sayfasına sahiptir ve ikincisi herhangi bir MSDN sayfası içermez. MSDN belgelerinin, Nuget'ten (ki benim kullandığım) SignalR'nin en son sürümü ile güncel olmadığını düşünüyorum, çünkü kaynaklar, her iki sınıfın da HubBase
taban sınıfından miras kaldığını gösteriyor. MSDN sayfanın Kalıtım hiyerarşisi bölüm Object
devralan ve IHub
ve IDisposable
arayüzleri Ancak bozulamaz kaynaklar sırayla IDisposable
uygulayan IHub
arabirimini uygulayan, yukarıda belirtilen HubBase
temel sınıf açığa uygulama olarak Hub
sınıfını gösterir.SignalR içinde genel hub nasıl kullanılır?
sınıfları genel olmayan ve genel varyant arasında farklılık genel varyant döner IHubCallerConnectionContext<T>
yazılmış ise genel olmayan bir kişinin Clients
özelliği IHubCallerConnectionContext<dynamic>
döndürmesidir.
İstemcilerimin yazılmasını istiyorum, böylece istemci yöntemlerini merkezden aradığımda, uygun Intellisense desteği ve güçlü yazılan argümanlara sahip olurdum. Bununla birlikte uğraştığım şey, Hub'ın istemci modelimin yönteminin aslında tarayıcıda çağrıldığını bilmesini sağlamaktır.
Bu benim TestModel
sınıftır: olmayan jenerik Merkezi sayesinde
public sealed class TestModel
{
public String Name { get; set; }
public void Notify() {}
public void NotifyComplex(TestModel model) {}
}
, sadece ly this.Context.Clients.Client(…)
veya this.Context.Caller
bağlı dynamic
üzerinde .Notify()
veya .Notify(new TestModel() { Name = "sth" })
arayacağımı ancak genel sınıf ile, ben aranacak Bu boş yöntemler benzer şekilde, tarayıcı hiç bildirilmez.
Genel hub sınıfını, kullanılma şekliyle nasıl kullanırsınız?
: http://stackoverflow.com/a/21763587/526704 – DLeh
Ben soru ilgisi yoktur korkuyorum İşte bu test kodu parçasıdır bu. İstemci yöntemlerini sunucudan aramakla ilgileniyorum, başka bir şekilde değil, bu sorunun OP'in ne yaptığı ve RPC'yi kullanarak aramak istediğim yöntemler genel değil, hub olsa da, istemciler. Yine de yorumu takdir ediyorum. –
Yardımcı olup olmadığından emin değildim, ama bulduğum şeyi sağlayabileceğimi düşündüm. üzgünüm başka yararlı bilgilerim yok :( – DLeh