ASPNET Core Server Gesendete Ereignisse / Antwort flush

9

Obwohl es keine offizielle Dokumentation gibt, weiß jemand, wie SSE mit ASP.NET Core implementiert werden kann?

Ich vermute, dass eine Implementierung möglicherweise benutzerdefinierte Middleware verwendet, aber vielleicht ist es möglich, dies in der Controller-Aktion zu tun?

    
Zygimantas 25.03.2016, 20:30
quelle

1 Antwort

25

wwwroot / index.html

Legen Sie beim Laden der Seite EventSource für die URL http://www.somehost.ca/sse an. Schreiben Sie dann seine Ereignisse in die Konsole.

%Vor%

Middleware

Die Middleware behandelt den sse -Pfad. Es setzt den Header Content-Type auf text/event-stream , was das Server-Socket-Ereignis erfordert. Es schreibt in den Antwortstream, ohne die Verbindung zu schließen. Es ahmt die Arbeit nach, indem es zwischen den Schreibvorgängen um fünf Sekunden verzögert.

%Vor%

Controller

Der Controller tut genau dasselbe wie die Middleware.

%Vor%

Konsolenausgabe in Firefox

Dies ist das Ergebnis im Firefox-Konsolenfenster. Alle fünf Sekunden kommt eine neue Nachricht an.

%Vor%

Referenzen:

Shaun Luttin 15.04.2016, 20:22
quelle