Ich entwickle eine Anwendung, Server-Side-Technologie ist asp.net Web-API, Client-Seite ist Javascript. In meiner Anwendung verwende ich Signalr, um Clients über Updates zu benachrichtigen - Push-Benachrichtigungen vom Server an die Clients.Integrieren Signaler mit Web API, Push-Benachrichtigungen an Clients
Die gesamte Signalinteraktion findet außerhalb der Hub-Klasse statt, da die Pushs von HTTP-Anforderungen kommen und nicht von einem Client-Push zum Server über den Signalgeber.
Nach dem Verarbeiten einer erfolgreichen HTTP-Anfrage möchte ich alle Clients neben demjenigen, der die Anfrage gesendet hat, benachrichtigt werden.
Wer sollte für diese Benachrichtigungen verantwortlich sein? Sollte mein Server nach der Verarbeitung einer rechtlichen Anforderung nur eine Benachrichtigung an die Clients senden? (Dies ist, was ich im Moment mache) Wenn dies der Weg ist, wie kann ich alle Kunden außer dem, der die Anfrage gestellt hat, benachrichtigen? Erinnerung - weil die Anfrage war Http und nicht Signal Push, die Push-to-Client-Seite passiert in einer Klasse außerhalb des Hub. Daher kann ich die Context- oder die Client.Other-Eigenschaft nicht verwenden, wie Sie es wahrscheinlich vorgeschlagen hätten. Wie könnte ich wissen, welche Kunden benachrichtigt werden sollen? Im Moment benutze ich nur Clients.All und derjenige, der die Anfrage gestellt hat, wird ebenfalls benachrichtigt, was ich nicht mag.
Option 2 ist das nach meinen Serverantworten mit einem Erfolgsstatuscode. Der Client, der die Anfrage gemacht hat, ist dafür verantwortlich, die anderen Clients zu benachrichtigen - was bedeutet, dass er die Nachricht an den Server sendet und der Server diese Benachrichtigung an alle anderen Clients weiterleitet (dieses Mal wird es innerhalb des Signal Hub sein, damit ich es nutzen kann) Kunden.Andere).
Welchen Ansatz sollte ich wählen?
Durch diese Option wählen, werde ich auf alle meine Wünsche ändern einen anderen Parameter zu nehmen - die Kunden ID?Gibt es einen besseren Weg? Ich möchte nicht die gesamte funktionierende und getestete API ändern –
Siehe mein Update, wenn Sie möchten. –
Ich denke, Ihr Code beschreibt meine zweite Option - haben die Client-Seite einen Push nach einer erfolgreichen Anfrage auslösen, habe ich recht? –