SignalR is a library for adding real-time web functionality to applications. It uses web sockets, server-sent events, and long-polling to enable real-time functionality between a server and client browsers. SignalR supports cross-platform connections from JavaScript and .NET clients to any backend. Hubs provide a simple abstraction for defining real-time endpoints and handling connections that can scale across servers. A backplane like Redis can be used to enable real-time connections across servers for scaling out applications. SignalR can also be self-hosted outside of IIS.