Skip to content

ASP.NET Core SignalR - SkipNegotiation by default and use Negotiation if WebSocket connection fails. #38300

@manishgargd

Description

@manishgargd

We are using ASP.NET Core SingalR for real time communication in our application.
90% of our web clients use WebSocket transport. By default, we don't SkipNegotiation.
If a client cannot connect using WebSocket then it can fall back to other protocols
for which Negotiate request is required. Even for the 90% percent of the clients
using WebSocket transport, two requests, negotiate, connect are required to establish a WebSocket connection.
We can improve the experience of these clients by establishing the connection in one request
by skipping negotiate request.

It will be nice if the libraries can provide the feature where by default they SkipNegotiation
and use WebSocket transport. If the connection is established, then we are good.
If the connection fails, then library can try to create new connection without skipping Negotiation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-signalrIncludes: SignalR clients and servers

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions