Laden...

ServerSentEvents - IIS hängt sich auf

Erstellt von chriscolm vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.119 Views
C
chriscolm Themenstarter:in
112 Beiträge seit 2009
vor 8 Jahren
ServerSentEvents - IIS hängt sich auf

Moinsen,

habe ein bisschen mit SSE herumgespielt. nach einigen GET-Requests hängt sich der IIS (auf Windows 10) komplett auf. Ich kann folgende Fehlermeldung in C:\Windows\System32\LogFiles\HTTPERR\httperr1.log finden:> Fehlermeldung:

Connection_Abandoned_By_ReqQueue ASP.NET+v4.0

Die Anwendung ist eine ASP.NET 4.5 Webanwendung.
Clientseitig kommt folgender js-Code zum Einsatz:

$.get(apppath + "/api/resourceapi", { key: "UH" }).done(function (hash) {
    // alert(hash);
    var source = new EventSource(apppath + "/api/Notification/" + hash);
 ...

Damit wird folgender Server-Code aufgerufen:


public class NotificationController : ApiController
    {
		
		private static ConcurrentDictionary<int, StreamWriter> _subscriber = new ConcurrentDictionary<int, StreamWriter>();
		

        // GET api/notification
        public HttpResponseMessage Get(HttpRequestMessage request, int id)
        {
			HttpResponseMessage response = request.CreateResponse();
			Action<Stream, System.Net.Http.HttpContent, TransportContext> a = new Action<Stream, HttpContent, TransportContext>((e, f, g) => {
					_subscriber.AddOrUpdate(id, new StreamWriter(e), (key, oldValue) => new StreamWriter(e));
				});
			response.Content = new PushStreamContent(a, "text/event-stream");
			return response;					
        }
}

Nach etwa dem 5 Aufruf hängt sich der IIS auf, nimmt keine Anfragen mehr entgegen und muss beendet und neu gestartet werden.

Irgendwer eine Idee?

Grüße

Christian