Probe der Verwendung von Blazor + SignalR Tech (C# net 5.0). Hauptsächlich, wie ein statisches Objekt an jeder Stelle Server verwendet werden kann, um die SignalR -Benachrichtigung an verbundene Clients zu übertragen.
https://newbedev.com/how-to-get-signalr-hub-context-in-asp-net-core
https://stackoverflow.com/questions/51968201/invoking-signalr-hub-not-working-for-asp-net-core-web-api/51981886#51981886
Sie haben Ihren Index.Razor (nur Layout) Index.razor wird von IndexController.cs gesteuert
In startup.cs werden Sie Ihren Hub ( SignalRHUB0.cs ) auf bestimmten Endpunkten zuordnen.
Backend of Startup wird automatisch Konstruktor von signalRHUB0.cs mit den erforderlichen Daten aufrufen.
Sie müssen auch einen gehosteten Dienst ( signalRServerside.cs ) definieren, den wir später als Hauptendpunkt verwenden werden, um an jedem Punkt direkt aus dem Backend auf Hubclients zuzugreifen.
Auch hier hält Startup.cs Backend die aktualisierte statische Variable in SignalRServerside.cs mit seiner seltsamen Logik.
Jetzt müssen Sie nur noch alle aktuell verbundenen Clients zu jedem Zeitpunkt auf der Serverseite erhalten:
SignalRServerside.HubContext
Wenn Sie die Logik recyceln möchten, haben Sie bereits in SignalRHUB0.cs definiert
Dank seines Konstruktors können Sie dies einfach tun:
_ = new SignalRHUB0 (SignalRServerside.HubContext) .SendMessageasync ("myRecycledMessage");