Note: “SignalR” in this site refers to “ASP.NET Core SignalR” (not ASP.NET SignalR)

What is SignalR?

Note: In ASP.NET Core, SignalR is a middleware that can be pluged into ASP.NET core app to build real-time apps

Features of SignalR

SignalR simplifies a rather complicated process. It takes care of a lot of the heavy lifting when it comes to real-time communication protocols on the web. Not all browsers support the same real-time communication protocols, and the best protocols to use may depend on a few different scenarios. SignalR takes care of those decisions for you and abstracts where the details of those communication protocols, so you don’t have to worry about implementing any of those details yourself. In a nutshell, SignalR provides a nice, easy to use interface on top of a lot of the complicated details involved in real-time communication on the web.

Features of SignalR for ASP.NET Core:

Transports

Transports negotiation: SignalR automatically chooses the best transport method that is within the capabilities of the server and client

SignalR implements these protocols on the client and server side and abstracts away the details, meaning you don’t have to worry about which transport is being used by your clients. SignalR also detects the browser’s ability to support each transport and picks the best one for each client.

See: WebSocket

Components

SignalR consists of Hubs (server-side) and Clients (client-side)

Clients can invoke methods on the hub, and the hub can invoke methods on the clients