It was a gorgeous weekend on the U of M campus, and two days full of all kinds of content. The attendees were a good mix, representing at least .NET, Ruby and Python. I was able to attend several sessions, including Lee Brandt’s “Drinking from the firehose” and “Get Your SQL Server Under Source Control” from Andy Pickett, one of the organizers.
I gave one talk, “Getting Started with SignalR”. This is a new talk, and the first time I’ve presented it, so my pace was off (what–me talk fast?). If you’re interested in more SignalR, as well as MVVM, jUICE UI and SCM branching/merging strategies (Git does not fix everything), check out our next TechConnection Live event on May 18. More details at http://c1.ms/tcl2.
Here are the materials for my talk:
The code files are too large to post to my blog, so I added them to Bitbucket via Git. You can still download the source in a ZIP, you don’t need to know Git to get the samples.
One question that came up was how to push messages to clients from the server on a set schedule. Right now there is no machinery built in to do this, but one option would be to have an external service on a timer and act as a client to send a message to other clients. There are other options discussed in a Stack Overflow thread:
http://stackoverflow.com/questions/9424967/how-can-i-make-a-server-time-app-with-signalr (be sure to read http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx also)
There are also a couple samples using Thread.Sleep to call a server method on a timer, but I’m not sure on how good of an idea this is.
The security aspects of SignalR were also discussed. Right now, there is no security built in to SignalR. Unlike WCF, we can’t just decorate our methods with authorization attributes and have the framework do the heavy lifting–it’s up to us to implement security as we need to. See http://stackoverflow.com/questions/9722983/signalr-secure-connection-between-net-client-and-the-server.
Another question had to do with the peformance of SignalR. The docs have a couple of relevant articles, Scaling Out SignalR and Performance Tuning SignalR. Support for WebFarms is under development. IIS and ASP.NET need to be tweaked to allow for more connections and a longer connection open time, as opposed to serving a number of requests.
Turnout today was awesome, over 360 attendees. Thanks to everyone who came to my talk, the room was packed (as were all the rooms). Kudos to the organizers for a great selection of content and a well run event!