On Thursday, I attended a DevCares event on WCF. We are using WCF in allot of different places on [TsiCurrentProject] and I was hoping to learn some new information on how to make the most out of WCF. While I did learn some new things, I did leave feeling a little disappointed, and felt I could have gotten the same things from a Webcast and saved the 2 hour round trip (more on this later).
The event was held at Inacom, in one of their classrooms, and the free snacks and soda, was defiantly one of the hightlights. Even though we were in a technology classroom, complete with 1 workstation per user, they were not setup for us to try out any of the code and examples that were being presented. I downloaded power shell and was playing around with that during that portion of the presentation. I was tempted to pull out my laptop so I could follow along, but would have felt a little out of place. The presentation itself was a mix of power point slides and demos, which didn’t always work. There were some nice gifts given away at the end, which consisted of some books a copy of Expression Studio, and a Copy of Office 2007 (professional I think). I wasn’t too disappointed that I didn’t win, as I do have a MSDN subscription and access to all of the software given away, but for some reason, it’s always nice to win.
The presenter reminded me of one of my many college professors, and read pretty much verbatim from a prepared presentation. It would have been nice if the notes he was using were made available to us, it would have saved me some typing. Perhaps they are available online, I have not looked to closely. The demos and presentation were given off a laptop running a virtualizes windows Vista, for IIS 7 I am assuming. Given the go live license of Windows Server 2008 Beta 3 and RC0, I would have preferred to see one of those used instead (ok, so RC0 was released 2 days before the presentation). However, I do not think the presenter would have been able to setup anything that wasn’t prepared for him ahead of time.
The first couple of demos were pretty straight forward and actually worked. These covered the use of the configuration tool, and test harness in VS 2008. The configuration tool included in VS 2008 would have saved me a lot of time in managing my config files this past summer. Also, VS 2008 includes a new test harness tool, which creates a very simple WinForms application based on the meta data retrieved from the WCF service, which can be used for quick testing. You need to have .Net 3.0 as the Target Framework, not .Net 2.0, which if you are upgrading from VS 2005, is probably the default. Once you have targeted .Net 3.0, a new Debug Tag under project properties will be available, and by default, under startup options, the following command will specified: /client:”WcfTestClient.exe”
I won’t be giving up my unit tests anytime soon, but the test harness application still has it’s place. We then moved into logging and tracing using the Microsoft Service Trace Viewer, a tool I sought out well before the class, and has saved me countless hours, so it was good to see if covered in the class. The first “half” of the class wrapped up with performance counters and monitoring through WMI and PowerShell (using WMI). PowerShell is something I have read allot about, but not had the time or immediate need to play around with. That has now changed, with all of the WMI support for WCF, PowerShell is the natural choice for querying our WCF applications. Couple that with the PowerShell extension for PolyMon, and we’ll have ourselves a nice little monitoring application.
After a quick break to restock on free soda and snacks, we moved into the 2nd half of the class, and this is were things started to go downhill, pretty much because none of the demos worked, and what I feel were some omissions on the topic of deployment. Topics covered in the 2nd half included custom channels, custom bindings, load balancing and deployment. However, none of the demos worked, so it was as if we were just reading from a book, which probably would have provided more detail then what we were getting. On the topic of deployment, we covered IIS and WAS, however, there was no mention of the fact that WAS is only part of IIS 7, and nothing about custom hosting in case you happen to be running WCF were IIS 7 is not available. The only reason given for using WAS was that you could use other bindings besides HTTP, but not why those other bindings might be desirable (such as the huge performance gain when using tcp and binary encoding, assuming WCF at both endpoints).
All in all, I think in the future, I will save myself the 2 hour round trip, and try to find some WebCasts, or Channel9 videos on the topic. The exception to this, would be if I knew the presenter was going to be good, based on past experience, a recommendation, or at least if they had some real world experience. I guess I can’t complain, the event was free, and there were free snacks.