2 Stimmen

SignalR - Aktualisierung von Clients aus Global.asax

Angenommen, ich habe eine ChatHub-Klasse zusammen mit einer Broadcast-Methode definiert.

Ich weiß, wie man Nachrichten an alle Clients sendet, wenn einer von ihnen eine Nachricht sendet, aber wie kann ich eine Nachricht an alle Clients von Global.asax aus senden?

Mit anderen Worten: Wie bekomme ich von einer anderen Klasse aus Zugang zu ChatHub?

Hier ist ein einfaches Beispiel:

    public class ChatHub : Hub
    {
      public void Broadcast(String reqMessage)
      {
        Clients.broadcast(reqMessage);
      }
    }

Wir wissen Ihre Hilfe sehr zu schätzen.

4voto

dknaack Punkte 58366

Seit SignalR 0.5 können Sie dies mit GlobalHost.ConnectionManager.GetHubContext

Muster

// get gub context
IHubContext context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
// broadcast to all clients in this hub
context.Clients.broadcast("Hello World");

Mehr Informationen

1voto

Piotr Szmyd Punkte 13351

Verwenden Sie ConnectionManager wie hier beschrieben: https://github.com/SignalR/SignalR/wiki/Hubs . Übrigens ist Ihre Frage höchstwahrscheinlich ein Duplikat von diese .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X