Data-Driven ASP.NET Ajax
This week I presented two talks at VSLive in New York. I love speaking at this conference because of its technical focus and because I’ve done it so long — eleven years — there are always a bunch of people I run into at this conference that I only see when I’m there.
I’ve posted here several times about how I’d been trying to get the conference to let me talk about interesting yet sorta-non-mainstream topics such as unit testing (which I pitched to them unsuccessfully back in 2000) and open source (which I succeeded in doing in 2006 with the first talk on MySQL for .NET developers). In the past few years the conference has been much more open to talks on the kind of tools and technologies that are important to me (as well as many other developers for whom Microsoft’s out-of-the-box offerings are not always sufficient).
So my "Data-Driven ASP.NET Ajax" talk is an attempt to take the ASP.NET demonstrations and tutorials that Microsoft provides and tailor them to more real-world scenarios. Here I’m trying to show how a dynamic web application can display data from a database, but also how you can use ASP.NET Ajax to efficiently display large (million-row-plus) data sets, do database transactions, perform server-side data validation without a full page refresh, and so forth. This is a new talk, and I really worked hard on it. I gave it for the first time on Monday afternoon and there were about 120 people in the audience, which was gratifying.
Because I like promoting alternatives to the Microsoft defaults, and because I wanted to be able to give away the source code for my demos and the data without forcing people to go through a big configuration step to get it running on SQL Server, I used System.Data.SQLite as my database. System.Data.SQLite is the .NET implementation of the terrific free embedded database SQLite. Because it’s free (as in public domain) and small, I can distribute the database engine itself along with my demos, which means you don’t have to download or configure a thing to run the demo web site. Just open the project in Visual Studio or drop it into an IIS virtual directory and open index.aspx in your browser.
Here’s the download. It’s about 9 MB because I included the million-row SQLite database I included in my demo, and it also includes the System.Data.SQLite dependency. This version of the site also fixes a problem that I encountered while doing one of the demos (I changed a reference to the master page right before I gave the talk which caused one of the demo pages to barf).