Recently, I attended a Twin Cities .NET User Group presentation on SignalR. I had heard about SignalR several times and was curious. Plus there was free pizza…<burp>.
SignalR has revamped the way I think about web sites. Normally, a browser requests some data and the server sends it. Ajax allows discreet calls to avoid full post-backs and full page rendering…but it is still a “request and wait” protocol. A web client can also poll a web server which allows the server to choose when and what to send to the clients. But that is a kind of ‘duct-tape’ programming. It is interesting to note that internally SignalR will fall back to polling protocols if a more modern transport isn’t supported by the browser.
In a nutshell: SignalR allows the server to actively push data to clients.
I decide to try writing my own SignalR Application: A Live Golf Scoring system. Here is a link to a live demo of the final application: http://www.stevewellens.com/LiveGolfScores/
Here is what the final product looks like, note there are three browsers, IE, Chrome and FF all showing the exact same data: