Sampel cara menggunakan Blazor + Signalr Tech (C# NET 5.0). Terutama bagaimana memiliki objek statis untuk digunakan di sisi server tempat mana pun untuk mendorong pemberitahuan SignalR ke klien yang terhubung.
https://newbedev.com/how-to-get-signalr-hub-context-in-a-asp-net-core
https://stackoverflow.com/questions/51968201/invoking-signalr-hub-not-working-for-asp-net-core-web-api/51981886#51981886
Anda memiliki index.razor (hanya tata letak) index.razor dikendalikan oleh indexcontroller.cs
Di startup.cs Anda akan memetakan hub Anda ( SignalRhub0.cs ) pada titik akhir tertentu.
Backend startup akan secara otomatis memanggil konstruktor SignalRhub0.cs dengan data yang diperlukan.
Anda juga perlu mendefinisikan layanan yang di -host ( SignalRServerSide.cs ) yang akan kami gunakan nanti sebagai titik akhir utama untuk mengakses hubclients di mana pun langsung dari backend.
Sekali lagi, startup.cs backend akan terus memperbarui variabel statis di sinyrserverside.cs dengan logika anehnya.
Sekarang yang perlu Anda lakukan untuk mendapatkan semua klien yang terhubung saat ini di sisi mana pun di sisi server:
SignalRServerSide.HubContext
Jika Anda ingin mendaur ulang logika yang sudah Anda tentukan di SignalRhub0.cs
Berkat konstruktornya, Anda dapat melakukan ini:
_ = New SignalRhub0 (SignalRServerSide.HubContext) .sendMessageAsync ("MyRecycledMessage");