Whidbey is a major release for the ASP.NET architecture. The goals include reducing the quantity of code you need to write by two-thirds. The aim is also to enable rich scenarios that are not easily possible today, such as role management. ASP.NET Whidbey now has a configuration and management API to programmatically update these settings, as well as adding ASP.NET specifics to the IIS MMC. Performance and scalability are major goals too.

Platform Services
ASP.NET Whidbey includes new "building block" APIs: membership, role management, personalisation, site navigation, database caching and management. What if you need to extend or customise these, though? Each of these building blocks expose a design pattern that you can implement and register within a configuration file; ASP.NET will then delegate control down to the customised version of your application. This also applies to existing building blocks, such as session management - so you could even customise this to store session state in Oracle if you wanted to! By default we implement providers for Windows, SQL Server and JET (Access).

ASP.NET Whidbey also includes some "page framework" features: master pages (templates), theme support and adaptive UI. The adaptive UI delegates rendering, which allows standard <asp:X> controls to render themselves for mobile devices. In the Longhorn timeframe, ASP.NET will also implement XAML adapters, which will allow the <asp:X> controls to dynamically render XAML.

There are over 40 controls built in to Whidbey, including controls for security, data, navigation and web parts.

Design Time Features
During design-time, Visual Studio Whidbey has been revamped for ASP.NET development. FrontPage Server Extensions are no longer required: you can access web sites using SMB (file system), IIS, FTP also. The model is now directory-based, so you can edit any web without requiring a project. You can customise exactly how HTML source is generated using Tools / Options. By default, it will automatically generate XHTML-compliant code, with a pluggable validation engine available. At any point, you can right-click and apply the formatting you've set up across any code that you bring in.

IntelliSense is supported throughout code-behind, CSS, HTML, page directives, XML etc. There is a built-in accessibility compliance checker, focused around the WCAG guidelines. The designer now generates clean CSS styles for formatting. The code-behind model now utilises partial types to reduce designer fragility; single file page editing is also supported now. Whidbey includes a built-in web server for local requests, removing the requirement to install IIS to develop. This removes the need to run as Administrator to debug code too. There's a much better data binding and generation mechanism too.

(Note that all the ASP.NET Whidbey material is available at http://asp.net/whidbey, along with hands-on labs.)