New ASP.NET AJAX Control Toolkit Release

Yesterday the ASP.NET AJAX Control Toolkit team released an updated version . You can download it from the web-site, and run samples built with it on the online samples page here . The ASP.NET AJAX Control Toolkit is a free download and contains more than 40 additional AJAX controls and components that work on top of the core ASP.NET AJAX 1.0 release. In addition to having Microsoft developers contribute, the project also has more than 15 non-Microsoft contributors adding great features and controls. You can download either a binary version of the ASP.NET AJAX Control Toolkit to use (just add to your toolbox and you are good to go), or you can download the source for the project itself and tweak/extend it if you want (all…(read more)

My “Lap Around Silverlight” Talk at TechEd

On Monday I gave an overview talk called “A Lap Around Silverlight” at TechEd in Orlando. You can download the slides of my talk here (warning: due to images the download is 12Mb). You can also learn more about Silverlight from my Silverlight blog post here . One of the things I did during the talk was to demo a bunch of cool applications built with Silverlight. Below are pointers to a few of the cool ones you can check out on the web today (note: install the Silverlight 1.1 Alpha to run them): Silverlight Airlines Sample This was a demo I coded on-stage in my keynote at MIX, and demonstrated an on-line trip scheduler application: You can watch a video of me walking through how to build it here (double-click on the video to watch it full-screen…(read more)

Microsoft Surface and WPF

Microsoft earlier today announced a new product called “Microsoft Surface”. If you haven’t checked out the online videos of it yet, I highly recommend watching them here . It is one of those products that looks and feels like it comes from a science fiction movie – but it is actually real. Popular Mechanics also has a good article (including their own video) of how it works that you can read and watch online here . One of the really cool things about Microsoft Surface is that the table UI experience is built entirely using WPF and the .NET Framework – which is a great statement about the power of what WPF provides. If you are interested in learning more about programming WPF, there are two great books out there that I’ve been recommending to…(read more)

LINQ to SQL (Part 2 – Defining our Data Model Classes)

In Part 1 of my LINQ to SQL blog post series I discussed “What is LINQ to SQL” and provided a basic overview of some of the data scenarios it enables. In my first post I provided code samples that demonstrated how to perform common data scenarios using LINQ to SQL including: How to query a database How to update rows in a database How to insert and relate multiple rows in a database How to delete rows in a database How to call a stored procedure How to retrieve data with server-side paging I performed all of these data scenarios using a LINQ to SQL class model that looked like the one below: In this second blog post in the series I’m going to go into more detail on how to create the above LINQ to SQL data model. LINQ to SQL, the LINQ to SQL…(read more)

My Upcoming Presentations in Orlando, Budapest, Amsterdam, Zurich, Mountain View and Phoenix

June is going to be a really busy travel month for me. I’ll be presenting at the following events if you are interested in attending and stopping by to say hi: TechEd 2007 in Orlando on June 4th and 5th : I’ll be doing a Silverlight talk and two ASP.NET and VS “Orcas” talks. Click here for more details about the conference. ReMIX 07 in Budapest, Hungary on June 11tht : I’ll be doing the keynote at the ReMIX conference as well as presenting Silverlight breakout talks. Click here for more details about the conference. ReMIX 07 and DevDays 07 in Amsterdam, Netherlands on June 13th and 14th : I’ll be doing the keynote at the ReMIX and DevDays conferences as well as presenting ASP.NET “Orcas” and Silverlight breakout talks. Click here and here for…(read more)


Last Monday I delivered one of the keynotes at the MIX conference in Las Vegas, and discussed a new project that I’ve been spending most of my time working on over the last year: Silverlight . Silverlight is a cross platform, cross browser .NET plug-in that enables designers and developers to build rich media experiences and RIAs for browsers. The preview builds we released this week currently support Firefox, Safari and IE browsers on both the Mac and Windows. To get a sense of the types of rich browser applications you will be able to build using Silverlight, please check out this 7 minute video of the Metaliq “Top Banana” video editor sample application: The “Top Banana” application was built with C# and runs cross platform on any system…(read more)

IIS 7.0 Beta3 Ships with a Go-Live License

This week we shipped IIS 7.0 Beta 3 as part of the Windows “Longhorn” Server release. IIS 7.0 is the biggest release of IIS in the history of the product, and brings with it major improvements to the Microsoft web-server stack. This article and this blog post list just a few of the major improvements it delivers. New IIS 7.0 Beta3 Features This week’s IIS 7.0 Beta3 release introduces a bunch of new features and capabilities above and beyond what shipped in the IIS 7.0 release that came with Windows Vista. These include: Web Farm Shared Configuration : You can now configure your web-servers to be stateless, and centralize all configuration, code and content across web farms (making it much easier to scale out and manage). Learn more about how…(read more)

Working with Data in ASP.NET 2.0

A ton of great articles and tutorials on working with data in ASP.NET 2.0 applications has been published recently. This post highlights a few of them (including tools like SubSonic and NHibernate): Working with Data in ASP.NET 2.0 Tutorial Series Scott Mitchell recently finished writing his multi-part Working with Data in ASP.NET 2.0 tutorial series for the site. This tutorial series contains more than 75 data tutorials (and over 750 pages of content!). There are VB and C# versions available for all of the tutorials, and the articles can optionally be downloaded in PDF format. If you haven’t read the tutorials yet, I’d highly checking them out here . Below is the table of contents and links to the articles already published: Introduction…(read more)

Public Hotfix Patch Available for ASP.NET Compilation Issues

Over the last year we’ve found and fixed a few ASP.NET 2.0 compilation bugs that people have reported running into. The root cause of these bugs is varied – but the root cause usually is related to having projects structured with particular cross page circular dependencies, and they are often triggered when massive file-changes occurs on the system (for example: an anti-virus program updates all of the timestamps on files at once). Example Error Messages The below error messages are examples of the types of runtime exceptions you might see if you run into one of these compilation issues: Unable to cast object of type ‘ASP.masterpage_master’ to type ‘ASP.masterpage_master’. Or: Could not load file or assembly ‘App_Web_e9dbmaj, Version=,…(read more)

New “Orcas” Language Feature: Lambda Expressions

Last month I started a series of posts covering some of the new VB and C# language features that are coming as part of the Visual Studio and .NET Framework “Orcas” release. Here are the first two posts in the series: Automatic Properties, Object Initializer and Collection Initializers Extension Methods Today’s blog post covers another fundamental new language feature: Lambda Expressions . What are Lambda Expressions? C# 2.0 (which shipped with VS 2005) introduced the concept of anonymous methods, which allow code blocks to be written “in-line” where delegate values are expected. Lambda Expressions provide a more concise, functional syntax for writing anonymous methods. They end up being super useful when writing LINQ query expressions – since…(read more)

Tip/Trick: Enabling SSL on IIS 7.0 Using Self-Signed Certificates

SSL enables browsers to communicate with a web-server over a secure channel that prevents eavesdropping, tampering and message forgery. You should always use SSL for login pages where users are entering usernames/passwords, as well as for all other sensitive pages on sites (for example: account pages that show financial or personal information). Configuring SSL on Windows with previous versions of IIS has been a pain. Figuring out how to install and manage a certificate, and then associate it with a web-site, is something I bet most web developers don’t know how to enable. The good news is that IIS 7.0 makes it radically easier to configure and enable SSL. IIS 7.0 also now has built-in support for creating “Self Signed Certificates” that enable…(read more)

JSON Hijacking and How ASP.NET AJAX 1.0 Avoids these Attacks

Recently some reports have been issued by security researchers describing ways hackers can use the JSON wire format used by most popular AJAX frameworks to try and exploit cross domain scripts within browsers. Specifically, these attacks use HTTP GET requests invoked via an HTML