I’ve posted my session samples and slides from last week’s Fall 2008 DevConnection conference. As always the conference has been great fun and I’ve been pretty happy with my presentations (except maybe the REST session which was just to short with the 15 minutes that were cut due to scheduling). This time around I had fairly easy sessions that I’d done a few times before which always makes things a little easier and I think the sessions went very well. Judging from feedback it looks like they were well received too…
Oddly though this year I didn’t feel terribly social – it seems like I was stuck in my room a lot working on sessions or various other things.Even the few times I got out it seemed the atmosphere with attendees seemed a little subdued – odd for a conference at Vegas. I’m just like Scott Hanselman pointed out in that respect: I don’t gamble, don’t drink or party much, and least of all do I like the cheesy excesses of Vegas. Not much that all that has to offer me especially on repeat visits. To me conferences are about hanging out with other developers but unfortunately there seemed to be very little of that at this conference. Even so I had a few interesting discussions at a few of the parties and with a variety of attendees after sessions. Frankly I really wish conferences tried to encourage more interaction between attendees and speakers by way of their scheduling instead of the separation of events and isolation with the ‘speaker room’ that seems to be happening so much at conferences that I’ve spoken at. <shrug>
Anyway enough bantering. Here are are the download links for my sessions:
Using jQuery with ASP.NET
This set of samples includes a number of different examples starting with the completed walk through client side example that demonstrates a wide variety of client selector operations, plus the interactive selection window and word search popups. This sample also includes a basic pulse plug in (shown), plus a Selector filter extension for :containsNoCase (not shown). There are a host of simple AJAX examples that take you through HTML fragment loading with $.load() including retrieving independent content, as well as a few variations of retrieving content from the same ASP.NET page and a basic example of returning JSON data from page output (which has many applications including MVC style apps). Then there are two identical samples that use WCF with jQuery – one that uses ASP.NET Ajax Web Service callbacks and one that uses only jQuery to access the same WCF service. Finally there are three larger sample applications provided: A WCF based StockPortfolio manager that allows picking stocks and adding, editing and deleting them from a portfolio view. Sample demonstrates a raw AJAX approach with all data loaded client side. Also demonstrates using jTemplates. There’s also a PhotoAlbum application that demonstrates a host of mechanisms for displaying and manipulating image display in a variety of ways. This is a reusable app that works simply with files in a directory that can be easily imported and updated. Demonstrates a number of plug-ins including Sortable and a custom Editable plugin used to edit captions in place. Finally there’s an Amazon Book Picker application which I use for selecting books from Amazon to display in my Web log. App allows selecting books from Amazon and using a window based layout allows adding, editing and updating of content. Demonstrates a more LOB type scenario and interaction of multiple floating windows of information. Also uses John Resig’s Microtemplate Engine.
This download also includes a jControls project which includes most of the West Wind Ajax Toolkit’s controls updated with jQuery. It includes a host of AJAX based utility classes including the ClientScriptProxy, ScriptContainer, ScriptVariables and other utilities covered here on this blog as well as a native callback control (AjaxMethodCallback) to make server callbacks easily with ASP.NET AJAX, DragPanel, HoverPanel and ModalPopup server controls as well as a rich client library of jQuery plug-ins that support the server side controls (although the client controls can be used independently of the server controls).
Download jQuery Slides and Samples
Using WCF for REST and JSON Services with ASP.NET
This set of samples includes a few simple REST urls that are directly accessed via URL demonstrating different result formats including XML, JSON, RSS as well as streamed responses. There’s also a second project that uses the WCF REST Starter Kit to publish a simple collection based list of items with basic display, list, add, update and delete support. This set also includes the WCF StockPortfolio example application I showed in the jQuery session, but done mostly with pure ASP.NET Ajax (with a little help from jQuery and a few helper functions). This example again is provided in ASP.NET AJAX and raw AJAX versions (implemented via jQuery) demonstrating different approaches to the same backend service to allow comparing behavior side by side. The examples in this session are not really self-explanatory – they rely somewhat on demonstrations and manipulation of the base code especially for the REST samples.
Download WCF REST Slides and Samples
Dealing with Long Running Requests in ASP.NET
This set of examples demonstrates a host of different operations to deal with long running requests. These examples take a very basic scenario of returning some data and displaying it with some delay. Different approaches are used to address various issues involved with slow running requests starting with user progress/working display options, moving on to asynchronous operations to reduce request times for IO centric tasks (Async Pages with Async Operations and Async Page Tasks). Then there are a several delegate and thread scenarios addressed from run and forget operations that can run in the background without feedback, to using a background scheduler for batching operations without tying up ASP.NET threads on seperate background thread. The final example then provides a comprehensive custom messaging solution that allows client and offloaded process server to communicate progress information while processing as well as pass complex data back to the client for working with or display. The messaging solution can be run inside of ASP.NET, in a separate process (sample uses a WinForm so you can see it run, but typically a service is more likely target) and finally running on a separate machine to offload processing completely of the current machine. The samples includes full source for the remote message manager.
Download Long Running Slides and Samples
Thanks for all those that attended my sessions in Vegas – I hope you got something useful out of them. I appreciate the many kind words many of you had afterwards… here’s giving back a little to you and the rest of the folks that didn’t make it. Enjoy.