Northeast Roadshow May-June - Recap

Bob Familiar, Jim O'Neil, Chris BowenIt was great fun to visit Burlington, VT, Portland ME, Hartford CT, Waltham, MA and Rochester NY in our latest roadshow. Chris, Jim and I presented on LINQ, Office Development, Silverlight 2 and ASP.NET MVC.

Right in the middle of the roadshow tour, the Silverlight team released Silverlight 2 Beta 2. That threw me a bit of a curve ball since my Sounds Familiar application was built on Silverlight 2 Beta 1. As a result I had to do some quick updates to the application while on the road. As a result, I learned a lot about the Beta 1 to Beta 2 migration. For the background reading on my Silverlight Session, see my 4 part series on Silverlight 2. Some of the information there is now out of date based on the release of Beta 2, but most of it is still relevant.

Whenever you are an early adopter of new technology there is always the risk that the next beta will break your current work. That is to be expected. Now that we have reached beta 2, we have a go live license and so the risk of breaking changes happening between now and the final release has been much reduced. Check out what NBC is doing with Silverlight to provide on-line coverage of the summer Olympics. Also check out the Hard Rock Cafe Memorabilia site.

The biggest issue I ran into when migrating from Beta 1 to Beta 2 was adjusting the HTML and JavaScript that participated in the resolution independence aspect of my application. As a result I moved from using JavaScript to bootstrap the application to using the <OBJECT> tag. This actually simplified my host application which has now been trimmed down to a single HTML file and the XAP file that contains the Silverlight application. Check out the contents of the Default.html file in the project.

Another modification was a simplification of how to invoke a SOAP service. That went from 5 lines of code down to 3. Once you make the service reference, you will have a fully configured client proxy so there is no need to create and initialize an EndPointAddress() or a BasicHTTPHandler(). Those 2 steps are removed so you are left with (1) create the proxy, (2) configure the callback, (3) call the service:

ws = new SoundsFamiliarServiceClient();
ws.GetCDListCompleted += new EventHandler<GetCDListCompletedEventArgs>(GetCDListCompleted);
ws.GetCDListAsync();

Check out the MainWindow.xaml.cs file to review this code in context. My source code and PPTs are located in this SkyDrive folder:

If you are looking for Chris’ and Jim’s ppts and code, check out these links:

For additional information on beta 2 and the changes between Beta 1 and Beta 2, check out these resources:

See you in September – bob

Technorati Tags: Silverlight,ASP.NET MVC,Office Development,LINQ,Sounds Familiar