SignalR nedir, nasıl bir mekanizmaya sahiptir, temel özellikleri ve bizlere sağladığı faydalar nedir? şeklinde ki sorular için fikir sağlayabilecek bir sunum.
2. SignalR Nedir?
■Gerçek zamanlı(real-time) uygulama geliştirmek için oluşturulmuş bir
kütüphanedir. SignalR ile server-client arasında mevcut bağlantı üzerinden veri
iletimi gerçekleştirilir.
■David Fowler ve Damian Edwards tarafından açık kaynak olarak geliştirilmeye
başlanan bu kütüphaneyi daha sonra Microsoft satın almıştır.
3. SignalR ile Neler Yapılabilir?
â– Oyunlar
â– Sosyal Uygulamalar
â– Chat
â– Dashboards
â– Real-time Forms
■Anlık veri ihtiyaçları vb.
4. Temel Özellikleri
■SignalR bağlantı yönetimini otomatik olarak gerçekleştirir.
■Broadcast mesajlarını aynı anda bağlı istemcilere yönlendirir.
■Server-Client arasındaki bağlantı süreklidir.
■SignalR uygulamaları Sql server, Service Bus veya Redis kullanarak binlerce
uygulama ölçekleyebilir.
■Oluşturulacak bağlantı için farklı aktarım teknolojileri destekler.
6. Transports
â– HTML 5 Transports
– Websockets : Server-Client arasında iki yönlü kalıcı bağlantı sağlar.
Websockets kullanabilmek için tarayıcıların(IE,Chrome,Firefox,Mozilla) en
son sürüm olması gerek. Safari ve Opera için kısmi eklentilere ihtiyaç
vardır.
– Server Sent Events(EventSource) :IE dışındaki birçok tarayıcı destekler.
â– Comet Transports
– Forever Frame : Sadece IE destekler, çok eski bir teknolojidir.
– Ajax Long Pooling : Kalıcı bağlantı yaratmaz. Request-Response ile anlık
olarak iletişim yapılır. Bağlantı her defasında yeniden başlatılır.
7. Transport yöntemi seçme
Özellik Yöntem
IE 8 ve alt sürümler Long Pooling
JsonP yapılandırıldıysa(true) Long Pooling
Bağlantı > cross-domain
Client CROSS desteÄŸi
Client ve Server da Websocket desteÄŸi varsa
Websockets
JsonP yapılandırılmamışsa
Bağlantı cross-domaindeğilse
Client ve Server da Websocket desteÄŸi varsa
Websockets
Websockets desteklenmiyorsa
Server Sent Event kullanılabilir ise
Server Sent Event
Server Sent kullanılabilir değilse Forever Frame
Bunların dışında Long Pooling
9. Kaynaklar
â– Introduction to SignalR
â– Building Real Time Applications with ASP.NET SignalR 2.0, Rachel Appel
â– Guide to the API