Gambaran umum ASP.NET Core SignalR

Apa itu SignalR?

ASP.NET Core SignalR adalah pustaka sumber terbuka yang menyederhanakan penambahan fungsionalitas web real time ke aplikasi. Fungsionalitas web real time memungkinkan kode sisi server untuk mendorong konten ke klien secara instan.

Kandidat yang baik untuk SignalR:

  • Aplikasi yang memerlukan pembaruan frekuensi tinggi dari server. Contohnya adalah game, jejaring sosial, pemungutan suara, lelang, peta, dan aplikasi GPS.
  • Dasbor dan aplikasi pemantauan. Contohnya termasuk dasbor perusahaan, pembaruan penjualan instan, atau pemberitahuan perjalanan.
  • Aplikasi kolaboratif. Aplikasi papan tulis dan perangkat lunak rapat tim adalah contoh aplikasi kolaboratif.
  • Aplikasi yang memerlukan pemberitahuan. Jejaring sosial, email, obrolan, game, pemberitahuan perjalanan, dan banyak aplikasi lainnya menggunakan pemberitahuan.

SignalRmenyediakan API untuk membuat panggilan prosedur jarak jauh (RPC) server-ke-klien. RPC memanggil fungsi pada klien dari kode .NET Core sisi server. Ada beberapa platform yang didukung, masing-masing dengan SDK klien masing-masing. Karena itu, bahasa pemrograman yang dipanggil oleh panggilan RPC bervariasi.

Berikut adalah beberapa fitur SignalR untuk ASP.NET Core:

  • Menangani manajemen koneksi secara otomatis.
  • Mengirim pesan ke semua klien yang terhubung secara bersamaan. Misalnya, ruang obrolan.
  • Mengirim pesan ke klien atau grup klien tertentu.
  • Menskalakan untuk menangani peningkatan lalu lintas.
  • SignalR Protokol Hub

Sumber dihosting di SignalR repositori di GitHub.

Transportasi

SignalR mendukung teknik berikut untuk menangani komunikasi real-time (dalam urutan fallback yang anggun):

  • WebSocket
  • Peristiwa yang Dikirim Server
  • Polling Panjang

SignalR secara otomatis memilih metode transportasi terbaik yang berada dalam kemampuan server dan klien.

Hub

SignalRmenggunakan hub untuk berkomunikasi antara klien dan server.

Hub adalah alur tingkat tinggi yang memungkinkan klien dan server untuk memanggil metode satu sama lain. SignalR menangani pengiriman di seluruh batas komputer secara otomatis, memungkinkan klien untuk memanggil metode di server dan sebaliknya. Anda dapat meneruskan parameter yang ditik dengan kuat ke metode, yang memungkinkan pengikatan model. SignalR menyediakan dua protokol hub bawaan: protokol teks berdasarkan JSON dan protokol biner berdasarkan MessagePack. MessagePack umumnya membuat pesan yang lebih kecil dibandingkan JSdengan AKTIF. Browser lama harus mendukung XHR tingkat 2 untuk memberikan dukungan protokol MessagePack.

Hub memanggil kode sisi klien dengan mengirim pesan yang berisi nama dan parameter metode sisi klien. Objek yang dikirim sebagai parameter metode dideserialisasi menggunakan protokol yang dikonfigurasi. Klien mencoba mencocokkan nama dengan metode dalam kode sisi klien. Ketika klien menemukan kecocokan, klien memanggil metode dan meneruskannya ke data parameter yang dideserialisasi.

Browser yang tidak mendukung ECMAScript 6 (ES6)

SignalR menargetkan ES6. Untuk browser yang tidak mendukung ES6, transpile pustaka ke ES5. Untuk informasi selengkapnya, lihat Memulai ES6 – Transpiling ES6 ke ES5 dengan Traceur dan Babel.

Sumber Daya Tambahan: