-
Notifications
You must be signed in to change notification settings - Fork 124
Running Kestrel through IIS Express doesn't support Server Sent Events #359
Comments
This isn't a tooling issue. The HttpPlatformHandler buffers aspnet/IISIntegration#7 (comment). It's a known issue but unlikely to be fixed in the short term. |
Very annoying. That probably means, hosting in Azure is affected as well. Forever Frame doesn't work either (now I can say: as expected) and falls back to Long Polling as well. Is there an out-of-the-box way to teach SignalR to |
Agreed. We'll see how far we can get removing buffering from the platform handler. It's just not the pri 0 thing at the moment (esp since SignalR 3.0 isn't aligned with the 1.0 release).
Yep, it has the same problem.
Nope, you could probably write some middleware to change the querystring to specify the transport based on that header value though. |
I've opted for the sledge hammer in if (!isOnInstrument)
{
var transportManager = dependencyResolver.Resolve<ITransportManager>() as TransportManager;
transportManager.Remove("foreverFrame");
transportManager.Remove("serverSentEvents");
transportManager.Remove("webSockets");
} The initial Thanks! |
FWIW, we made this nicer in SignalR v3 (disabling transports). Though to think of it, we might want to allow it on a per connection level. |
I've got my ASP.NET 5 project and use SignalR 2.2 through the Owin middleware adaption. When I run Kestrel on the command line stand-alone, Firefox is using the Server Sent Events transport. However, when I CTRL+F5 in VS using the IIS Express setting, the
/connect
request in Firefox doesn't finish and SignalR falls back to long polling, after a timeout of 5 seconds. The latter is quite annoying during development.I've found an older issue in SignalR/SignalR#625, where @davidfowl identified the issue being a proxy sitting between the server and the browser, but I don't know if IIS qualifies as such here.
The text was updated successfully, but these errors were encountered: