dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.36k stars 9.99k forks source link

[Blazor server side] Cannot open site more than ~10 times at the same time when deployed to IIS #17907

Closed jaryn-kubik closed 4 years ago

jaryn-kubik commented 4 years ago

Describe the bug

I thought this was something in my app but I've tried it with the default .NET Core 3.1 Blazor server side template app (hello word/counter/fetch) and I'm getting the same behavior.

When I deploy the app to my local IIS and try opening it in multiple tabs in the browser at the same time at some point (10+tabs) a new tab just doesn't load. It just keeps loading, in dev tools network tab i can see it's waiting for a response from the server, but it never happens. If I close one of the previous tabs (that worked) the new one (that was stuck) now resumes and finishes loading just fine.

There seems to be something somewhere limiting the number of concurrent connections when deployed on IIS and 10 seems to be like an extremely low number, I feel like there has to be some step/setting i've missed or something because it cannot possibly be right.

I've added logging with serilog to the default template if that somehow helps:

To Reproduce

pranavkm commented 4 years ago

Might be the limitation that's described here: https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/supported-platforms#supported-server-iis-versions. What flavor of Windows 10 are you on?

/cc @jkotalik

jaryn-kubik commented 4 years ago

I see, thanks. I'm running Windows 10 Pro 1903, I just tried it on our test server running Windows Server 2019 and it indeed works fine.

I kinda feel like it should be mentioned somewhere closer to blazor server side documentation as this makes it practically unusable on non-server Windows. Most (all?) of the SignalR mentions lead to the Core version and this limitation seems to be only listed on the non-Core version.