↑ Return to Top
SignalR provides a bidirectional communication channel between (web) clients and a server side (web) application. SignalR is not limited to web application. A client can be every application or web page which uses JavaScript or .NET Framework 4.5 (or 4 with some restrictions) - like Windows Phone apps, SilverLight or Console applications. A SignalR server application has to be build with .NET Framework 4.5 (or 4 with some restrictions).
SignalR's communication channel is
SignalR supports four communication technologies on the transport layer. Client and Server negotiate the best communication technology – depending on their capabilities – when they establish their connection. SignalR uses the fallback strategy shown in figure 1.
SignalR supports these communication technologies:
SignalR has a layered communication architecture on client and server side as shown in figure 2:
The (internal) Transport Layer handles the different communication technologies. The Persistent Connection API is independent of the underlying technology. It offers a message based API, which allows exchanging data between client and server (and vice versa). The Hub API is the next abstraction level. It enables client and server to invoke remote methods (instead of exchanging mere data). SignalR exposes two communication levels possible:
The Hub API offers the most convenient and preferred communication API. The Persistent Connection API might only be interesting, if you need to integrate with an existing message based server application or if you need for some reason detailed control on the message level.
SignalR was first implemented by Damian Edwards and … . It is available as open source.
The SignalR Framework consists of a set of .NET packages and one JavaScript package. The packages are offered via Nuget. Table 1 shows all packages and the (sub) packages they include.
Table 1: SignalR packages
Typical usage scenarios are:
Pros
Cons
Carsten Siemens edited Revision 2. Comment: Added tag: Carsten Siemens
Carsten Siemens edited Revision 3. Comment: Add first content. The article is still a stub.
Carsten Siemens edited Revision 4. Comment: Removed stub tag. Extended Link Collection.
Carsten Siemens edited Revision 5. Comment: Fixed a larger amount of misspellings
Carsten Siemens edited Revision 6. Comment: Added "See Also" section
Carsten Siemens edited Revision 7. Comment: Added tag: has Back to Top link
Carsten Siemens edited Revision 8. Comment: Fixed StatCounter