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.
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
(Note that all the ASP.NET Whidbey material is available at http://asp.net/whidbey,
along with hands-on labs.)