ตัวอย่างวิธีการใช้ Blazor + SignalR Tech (C# Net 5.0) ส่วนใหญ่วิธีการมีวัตถุแบบคงที่ที่จะใช้ในฝั่งเซิร์ฟเวอร์ใด ๆ เพื่อผลักดันการแจ้งเตือน SignalR ไปยังไคลเอนต์ที่เชื่อมต่อ
https://newbedev.com/how-to-get-signalr-hub-contextin-in-a-asp-net-core
https://stackoverflow.com/questions/51968201/invoking-signalr-hub-not-working-for-asp-net-core-web-api/51981886#51981886
คุณมี index.razor (เลย์เอาต์เท่านั้น) index.razor ควบคุมโดย indexcontroller.cs
ใน startup.cs คุณจะแมปฮับของคุณ ( SignalRhub0.cs ) บนจุดสิ้นสุดบางแห่ง
แบ็กเอนด์ของการเริ่มต้นจะเรียกตัวสร้างของ SignalRhub0.c โดยอัตโนมัติพร้อมข้อมูลที่จำเป็น
คุณจะต้องกำหนดบริการที่โฮสต์ ( SignalRserverside.cs ) ซึ่งเราจะใช้ในภายหลังเป็นจุดสิ้นสุดหลักในการเข้าถึง Hubclients ณ จุดใด ๆ โดยตรงจากแบ็กเอนด์
อีกครั้งแบ็กเอนด์ startup.cs จะรักษาตัวแปรสแตติกที่อัปเดตไว้ใน SignalRserverside.cs ด้วย logics แปลก ๆ
ตอนนี้สิ่งที่คุณต้องทำเพื่อให้ได้ลูกค้าที่เชื่อมต่อทั้งหมดในทุกจุดบนฝั่งเซิร์ฟเวอร์:
SignalRserverside.hubcontext
หากคุณต้องการรีไซเคิล logics ที่คุณกำหนดไว้แล้วใน SignalRhub0.cs
ขอบคุณตัวสร้างที่คุณสามารถทำได้:
_ = ใหม่ SignalRHUB0 (SignalRserverside.HubContext) .SendMessageAsync ("MyRecycledMessage");