You are on page 1of 5

What's New in ASP.NET 2.0?

ASP.NET is a programming framework built on the common language


runtime that can be used on a server to build powerful Web
applications. The first version of ASP.NET offered several important
advantages over previous Web development models. ASP.NET 2.0
improves upon that foundation by adding support for several new and
exciting features in the areas of developer productivity, administration
and management, extensibility, and performance:

Developer Productivity

ASP.NET 2.0 encapsulates common Web tasks into application services


and controls that can be easily reused across web sites. With these
basic building blocks, many scenarios can now be implemented with
far less custom code than was required in previous versions. With
ASP.NET 2.0 it is possible to significantly reduce the amount of code
and concepts necessary to build common scenarios on the web.

• New Server Controls. ASP.NET 2.0 introduces many new


server controls that enable powerful declarative support for data
access, login security, wizard navigation, menus, treeviews,
portals, and more. Many of these controls take advantage of
core application services in ASP.NET for scenarios like data
access, membership and roles, and personalization. Some of the
new families of controls in ASP.NET 2.0 are described below.

o Data Controls. Data access in ASP.NET 2.0 can be


accomplished completely declaratively (no code) using the
new data-bound and data source controls. There are new
data source controls to represent different data backends
such as SQL database, business objects, and XML, and
there are new data-bound controls for rendering common
UI for data, such as gridview, detailsview, and formview..

o Navigation Controls. The navigation controls provide


common UI for navigating between pages in your site,
such as treeview, menu, and sitemappath. These controls
use the site navigation service in ASP.NET 2.0 to retrieve
the custom structure you have defined for your site.

o Login Controls. The new login controls provide the


building blocks to add authentication and authorization-
based UI to your site, such as login forms, create user
forms, password retrieval, and custom UI for logged in
users or roles. These controls use the built-in membership
and role services in ASP.NET 2.0 to interact with the user
and role information defined for your site.

o Web Part Controls. Web parts are an exciting new family


of controls that enable you to add rich, personalized
content and layout to your site, as well as the ability to
edit that content and layout directly from your application
pages. These controls rely on the personalization services
in ASP.NET 2.0 to provide a unique experience for each
user in your application.

• Master Pages. This feature provides the ability to define


common structure and interface elements for your site, such as
a page header, footer, or navigation bar, in a common location
called a "master page", to be shared by many pages in your site.
In one simple place you can control the look, feel, and much of
functionality for an entire Web site. This improves the
maintainability of your site and avoids unnecessary duplication of
code for shared site structure or behavior.

• Themes and Skins. The themes and skins features in ASP.NET


2.0 allow for easy customization of your site's look-and-feel. You
can define style information in a common location called a
"theme", and apply that style information globally to pages or
controls in your site. Like Master Pages, this improves the
maintainability of your site and avoid unnecessary duplication of
code for shared styles.

• Personalization. Using the new personalization services in


ASP.NET 2.0 you can easily create customized experiences within
Web applications. The Profile object enables developers to easily
build strongly-typed, sticky data stores for user accounts and
build highly customized, relationship based experiences. At the
same time, a developer can leverage Web Parts and the
personalization service to enable Web site visitors to completely
control the layout and behavior of the site, with the knowledge
that the site is completely customized for them. Personalizaton
scenarios are now easier to build than ever before and require
significantly less code and effort to implement.

• Localization. Enabling globalization and localization in Web sites


today is difficult, requiring large amounts of custom code and
resources. ASP.NET 2.0 and Visual Studio 2005 provide tools and
infrastructure to easily build Localizable sites including the ability
to auto-detect incoming locale's and display the appropriate
locale based UI. Visual Studio 2005 includes built-in tools to
dynamically generate resource files and localization references.
Together, building localized applications becomes a simple and
integrated part of the development experience.

Administration and Management

ASP.NET 2.0 is designed with administration and manageability in


mind. We recognize that while simplifying the development experience
is important, deployment and maintenance in a production
environment is also a key component of an application's lifetime.
ASP.NET 2.0 introduces several new features that further enhance the
deployment, management, and operations of ASP.NET servers.

• Configuration API. ASP.NET 2.0 contains new configuration


management APIs, enabling users to programmatically build
programs or scripts that create, read, and update Web.config
and machine.config configuration files.

• ASP.NET MMC Admin Tool. ASP.NET 2.0 provides a new


comprehensive admin tool that plugs into the existing IIS
Administration MMC, enabling an administrator to graphically
read or change common settings within our XML configuration
files.

• Pre-compilation Tool. ASP.NET 2.0 delivers a new application


deployment utility that enables both developers and
administrators to precompile a dynamic ASP.NET application prior
to deployment. This precompilation automatically identifies any
compilation issues anywhere within the site, as well as enables
ASP.NET applications to be deployed without any source being
stored on the server (one can optionally remove the content of
.aspx files as part of the compile phase), further protecting your
intellectual property.

• Health Monitoring and Tracing. ASP.NET 2.0 also provides


new health-monitoring support to enable administrators to be
automatically notified when an application on a server starts to
experience problems. New tracing features will enable
administrators to capture run-time and request data from a
production server to better diagnose issues. ASP.NET 2.0 is
delivering features that will enable developers and
administrators to simplify the day-to-day management and
maintenance of their Web applications.

Flexible Extensibility

ASP.NET 2.0 is a well-factored and open system, where any


component can be easily replaced with a custom implementation.
Whether it is server controls, page handlers, compilation, or core
application services, you'll find that all are easily customizable and
replaceable to tailor to your needs. Developers can plug in custom
code anywhere in the page lifecycle to further customize ASP.NET 2.0
to their needs.

• Provider-driven Application Services. ASP.NET 2.0 now


includes built-in support for membership (user name/password
credential storage) and role management services out of the
box. The new personalization service enables quick
storage/retrieval of user settings and preferences, facilitating
rich customization with minimal code. The new site navigation
system enables developers to quickly build link structures
consistently across a site. As all of these services are provider-
driven, they can be easily swapped out and replaced with your
own custom implementation. With this extensibility option, you
have complete control over the data store and schema that
drives these rich application services.

• Server Control Extensibility. ASP.NET 2.0 includes improved


support for control extensibility, such as more base classes that
encapsulate common behaviors, improved designer support,
more APIs for interacting with client-side script, metadata-driven
support for new features like themes and accessibility
verification, better state management, and more.

• Data Source Controls. Data access in ASP.NET 2.0 is now


performed declaratively using data source controls on a page. In
this model, support for new data backend storage providers can
be easily added by implementing custom data source controls.
Additionally, the SqlDataSource control that ships in the box has
built-in support for any ADO.NET managed provider that
implements the new provider factory model in ADO.NET.

• Compilation Build Providers. Dynamic compilation in ASP.NET


2.0 is now handled by extensible compilation build providers,
which associate a particular file extension with a handler that
knows how to compile that extension dynamically at runtime. For
example, .resx files can be dynamically compiled to resources,
.wsdl files to web service proxies, and .xsd files to typed DataSet
objects. In addition to the built-in support, it is easy to add
support for additional extensions by implementing a custom
build provider and registering it in Web.config.

• Expression Builders. ASP.NET 2.0 introduces a declarative new


syntax for referencing code to substitute values into the page,
called Expression Builders. ASP.NET 2.0 includes expression
builders for referencing string resources for localization,
connection strings, application settings, and profile values. You
can also write your own expression builders to create your own
custom syntax to substitute values in a page rendering.

Performance and Scalability

ASP.NET is built to perform, using a compiled execution model for


handling page requests and running on the world's fastest web server,
Internet Information Services. ASP.NET 2.0 also introduces key
performance benefits over previous versions.

• 64-Bit Support. ASP.NET 2.0 is now 64-bit enabled, meaning it


can take advantage of the full memory address space of new 64-
bit processors and servers. Developers can simply copy existing
32-bit ASP.NET applications onto a 64-bit ASP.NET 2.0 server and
have them automatically be JIT compiled and executed as native
64-bit applications (no source code changes or manual re-
compile are required).

• Caching Improvements. ASP.NET 2.0 also now includes


automatic database server cache invalidation. This powerful and
easy-to-use feature allows developers to aggressively output
cache database-driven page and partial page content within a
site and have ASP.NET automatically invalidate these cache
entries and refresh the content whenever the back-end database
changes. Developers can now safely cache time-critical content
for long periods without worrying about serving visitors stale
data.

The remainder of the QuickStart presents practical examples of these


and other features in ASP.NET.