SignalR: worker process is limited to 10 concurren

2019-07-27 11:15发布

问题:

I've deployed a SignalR-based app onto my on-premises server, and it is crashing when there are more than ten concurrent users.

The long-running requests for the worker process associated with my app pool all have URLs of the form /signalr/reconnect?transport=serverSentEvents&connectionToken=....

As soon as more than ten users connect, the limit of ten concurrent requests is breached and the application hangs.

Do I need to change any IIS settings to allow SignalR to scale in this instance? If I'm deploying to Azure, how would I configure the settings to take account of this?

回答1:

Workstation OSes (Windows XP, Vista, 7, 8, etc) have a limit of at most 10 concurrent connections in IIS. These OSes are not intended for use as a server (and I think the EULA prohibits it, as I recall). The concurrent connection limit is one way that Microsoft enforces the "not a server" restriction.

Windows Server OSes (Server 2008 R2, Server 2012, etc) do not have this restriction, and so you won't have this problem when you deploy you application to a production server. Windows Azure is fine also (it is Windows Server behind the scenes).