ASP.NET Core giriş SignalR
Nedir SignalR ?
ASP.NET Core SignalR , uygulamalara gerçek zamanlı Web işlevselliği eklemeyi kolaylaştıran açık kaynaklı bir kitaplıktır. Gerçek zamanlı Web işlevselliği, sunucu tarafı kodun anında istemcilere içerik gönderebilmesine olanak sağlar.
İçin iyi adaylar SignalR :
- Sunucudan yüksek sıklıkta güncelleştirmeler gerektiren uygulamalar. Oyun, sosyal ağlar, oylama, açık artırma, haritalar ve GPS uygulamaları bunlara örnektir.
- Panolar ve izleme uygulamaları. Şirket panoları, anlık satış güncelleştirmeleri veya seyahat uyarıları bunlara örnektir.
- İş birliği uygulamaları. Beyaz tahta uygulamaları ve takım toplantısı yazılımları, iş birliği uygulamalarına örnektir.
- Bildirim gerektiren uygulamalar. Sosyal ağlar, e-posta, sohbet, oyunlar, seyahat uyarıları ve diğer birçok uygulama, bildirimleri kullanır.
SignalR sunucudan istemciye uzak yordam çağrıları (RPC)oluşturmak IÇIN bir API sağlar. RPC 'ler, sunucu tarafı .NET Core kodundan istemcilerdeki işlevleri çağırır. Her biri kendi istemci SDK 'Sı ile desteklenen birkaç platformvardır. Bu nedenle, RPC çağrısı tarafından çağrılan programlama dili farklılık gösterir.
ASP.NET Core için bazı özellikler şunlardır SignalR :
- Bağlantı yönetimini otomatik olarak işler.
- Tüm bağlı istemcilere aynı anda iletiler gönderir. Örneğin, bir sohbet odası.
- Belirli istemcilere veya istemci gruplarına iletiler gönderir.
- Artan trafiği işleyecek şekilde ölçeklendirilir.
Kaynak, SignalR GitHub bir depodabarındırılır.
Taşımalar
SignalR gerçek zamanlı iletişimi işlemek için aşağıdaki teknikleri destekler (düzgün geri dönüş sırasında):
- WebSockets
- Server-Sent olaylar
- Uzun yoklama
SignalR sunucu ve istemci özellikleri içinde en iyi taşıma yöntemini otomatik olarak seçer.
Merkezler
SignalR istemciler ve sunucular arasında iletişim kurmak için hub 'ları kullanır.
Hub, bir istemcinin ve sunucunun birbirlerine Yöntemler çağırmasını sağlayan üst düzey bir işlem hattdır. SignalR makinenin sunucu sınırları genelinde dağıtımını otomatik olarak işler ve istemcilerin sunucuda Yöntemler çağırmasını sağlar ve tam tersi de geçerlidir. Model bağlamayı sağlayan yöntemlere kesin olarak yazılmış parametreler geçirebilirsiniz. SignalR , iki yerleşik hub protokolünü sağlar: JSON tabanlı bir metin Protokolü ve MessagePacktemelli bir ikili protokol. MessagePack genellikle JSON ile karşılaştırıldığında daha küçük iletiler oluşturur. Daha eski tarayıcıların, MessagePack protokolü desteği sağlamak için XHR düzey 2 ' i desteklemesi gerekir.
Hub 'lar, istemci tarafı yönteminin adını ve parametrelerini içeren iletiler göndererek istemci tarafı kodu çağırır. Yöntem parametreleri olarak gönderilen nesneler, yapılandırılan protokol kullanılarak seri durumdan çıkarılacak. İstemci, adı istemci tarafı koddaki bir yöntemle eşleştirmeye çalışır. İstemci bir eşleşme bulduğunda, yöntemini çağırır ve seri durumdan çıkarılan parametre verilerine geçirir.