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