ASP.NET Changes

ASP.NET provides all the services necessary for you to build enterprise-class Web-based solutions. These solutions typically take the shape of a series of navigationally-connected Web pages containing both static and dynamic elements, including standard HTML elements, Web Forms, server-side and user-side controls and scripts, and active components. ASP.NET is fully object-oriented and solutions have full access to other parts of the .NET Framework.

With the .NET Framework 2.0, the following primary changes have been made in the features set of ASP.NET:

  1. Web Site Management — numerous improvements have been made to make the development, deployment and administration of Web solutions and sites easier.

    • A new Web Site Administration Tool and a related ASP.NET MMC snap-in enable easy visual configuration of sites and Web solutions.

    Reserved folders for special functionality, such as the App_Code folder for inclusion of source code that is compiled automatically as part of the Web site, and others for data sources, Web references and localized resources.

    • Perhaps most compelling to developers, configuration files include a richer schema and a corresponding new configuration API. These support new capabilities of ASP.NET such as personalization, membership and user roles.

  2. Page Design — new features enable the developer to more easily create pages that are consistent and that can offer a richer experience to users.

    • Master pages can be used to define a common layout and overall design.

    • Themes help create a consistent look and feel, for example control skins, CSS control styles, and customized control images.

    • Web Parts is a new integrated set of controls for creating Web sites that enable users to modify the content, appearance, and behavior of Web pages directly from a browser.

    • Code file model, enabled by partial classes, allows the developer to cleanly separate the UI (markup) from the code on a page.

    • New navigation and multi-page controls such as the TreeView, Menu, SiteMapPath and Wizard class assist the user when using your site.

    • Profile properties enable per-user sets of data to be associated with each user and persisted in a configurable data store between sessions.

    • Easier binding of client-side event handlers to controls and add better support for accelerator keys.

  3. Controls — the following improvements have been made in client- and server-side controls:

    • General usage and performance enhancements including XHMTL 1.0 Transitional compatibility; support for browser-specific adaptive rendering; support for themes and skins; support, where appropriate, for device filtering in control properties; selective validation of controls.

    • GridView and data source controls make working with the new data-binding model much easier (see below).

    • As mentioned above, navigation is improved through the use of the TreeView control (which can be used to display a site map) and the SiteMapPath control (which adds navigation paths, also known as breadcrumbs).

    • A suite of new login controls assists with authenticating users.

    • A new set of Web Part controls allow you to create portal pages that users can customize at run time.

    • The new, more functional FileUpload, ImageMap and HiddenField server-side controls can be used in place of their HTML counterparts.

    • Several controls, including the TreeView control, support client callback functions, which enable the control to communicate with the server without requiring a full post of information back to the server.

  4. Data — a number of improvements have been made in data usage, including:

    • A new, simplified, two-way data-binding model has been introduced that supports automatic data-binding. The older ASP.NET 1.x data model is still supported for backward compatibility.

    • The new GridView, DetailsView, FormView and data source controls (ObjectDataSource, SqlDataSource, AccessDataSource, XmlDataSource and SiteMapDataSource) supplement the new data model and reduce coding requirements. The new ObjectDataSource control is designed to support a distributed application.

    • All data-bound controls now support the new declarative data-binding model as well as maintaining support for the original data-binding model.

    • Declarative parameters and simplified data-binding syntax reduce coding and increase maintainability.

    • The special App_Data folder can be used to store databases and other data sources.

    • XML data is supported through multiple mechanisms, including at a basic level through the XmlDataSource control or through higher-level binding to tree and list controls.

  5. Security — ASP.NET provides built-in support for authenticating and authorizing users through the following additions:

    • The membership service provides APIs that you can call programmatically to create new users, validate credentials, and get user information.

    New login controls and service assist with authenticating users:

    • The Login control prompts users for credentials and validates them.

    • The PasswordRecovery control provides various options for helping users either change or remember their password.

    • The LoginName control displays user information.

    • The LoginStatus control displays a toggled login or logout button, depending on the user state.

    • The LoginView control marks content on a page that is visible only to authenticated users.

    • The role management service helps manage authorization, providing high-level ways to define and check roles for users.

For more information, see What's New in ASP.NET in the Windows SDK.

Microsoft is also developing the following tools and add-on technologies for use with ASP.NET 2.0 to extend its use:

  • Web Service Enhancements (WSE) — extends the .NET Framework with compatibility for open Internet Web Services standards, collectively known as WS-* protocols.

  • ASP.NET "Atlas" —adds advanced scripting technologies. The client is enhanced with an object-oriented Ajax (Asynchronous JavaScript and XML) framework, client-side controls, data-binding, and behaviors. On the server, a corresponding framework and set of server-side controls has been added.

  • ASP.NET development tools — Microsoft offers two tools that support visual development. The Web Matrix Project is a community-supported, easy-to-use WYSIWYG application development tool for ASP.NET. For more information, visit Microsoft's Web Matrix Project home page. Visual Studio 2005 contains extensive support for developing ASP.NET applications, including a new Visual Web Developer authoring environment. For more information, visit the Microsoft Visual Studio (http://msdn.microsoft.com/vstudio) site.

Web Services Enhancements (WSE)

Web Services Enhancements (WSE) 3.0 adds support for the WS-* suite of open interoperability protocols for characteristics such as security, reliability, coordination, and transaction support. Traditionally, the primary hosting scenario for the use of these protocols is ASP.NET Web services.

The significant changes between version 2 and 3 of the WSE are:

  • Support for updated Web services specifications, including WS-Addressing, WS-Security, WS-Trust, and WS-SecureConversation.

  • WSE 3.0 supports the .NET Framework 2.0 and is integrated with Visual Studio 2005.

  • Five predefined turnkey security scenarios (named UsernameOverTransport, UsernameOverCertificate, AnonymousOverCertificate, MutualCertificate, and Kerberos) cover common security requirements.

  • Support for the Message Transmission Optimization Mechanism (MTOM), which enables the secure, efficient, and straightforward transmission of binary data. MTOM is a W3C recommendation that replaces DIME and WS-Attachments as the mechanism for sending large amounts of data (for example, document files and images).

  • Improved session management provides policy support for sessions, renewable and cancelable sessions, and stateful sessions, all of which increase the usefulness of sessions. For example, sessions can now be more easily reestablished in unreliable environments and their use in Web farm scenarios.

  • Improved Policy Infrastructure supports turnkey security scenarios, CLR attribute support, better extensibility, and an updated Security Settings Wizard to generate policies.

  • WSE can now be used outside of IIS, enabling ASMX solutions to be hosted in console applications, Windows services, COM+ components, or Windows Forms applications, and called via the TCP protocol. In addition, there have been other custom transports published for WSE, including UDP and message queuing, that could also take advantage of these alternative hosts for ASMX Web services.

  • Integration with ClickOnce enables the developer to deploy either just the WSE 3.0 runtime DLL or the entire WSE 3.0 runtime with your ClickOnce-installed application.

  • Improved performance — Initial testing has demonstrated that WSE 3.0 on .NET Framework 2.0 is approximately 30% faster on message throughput (messages per second) than WSE 2.0 on .NET 1.1. A further, similar performance gain is seen on 64-bit computers.

  • Interoperability — WSE's implementation of WS-* protocols are highly-compatible with the Windows Communication Foundation (WCF) and third-party products such as IBM WebSphere.

For more information, see the Web Services and Other Distributed Technologies Developer Center (http://msdn.microsoft.com/webservices/) site.

ASP.NET Atlas

ASP.NET Atlas integrates an extensive set of client script libraries with the rich, server-based development services of ASP.NET 2.0. Atlas enables the development of Web applications that can update data on a Web page by making direct calls to a Web server, without needing to make a round trip for the page. Atlas takes advantage of the best of ASP.NET and server-side code while doing much of the work in the browser, enabling richer user experiences.

Atlas offers the following specific advantages over traditional dynamic Web page development:

  • Better performance than traditional Web applications in two key aspects: responsiveness and user interface (UI). Traditional Web applications require a round trip for updating data or controls, which can result in long waits. Atlas, on the other hand, dramatically improves application performance by reducing the need for round trips.

  • Practical support for a richer GUI because Atlas performs much of the processing in the client. Not only does Atlas support all the controls and features users have come to expect from a rich UI (such as drag and drop, auto-completion, and mouse hovering behavior), but more importantly, it also supports interactive, data-bound controls that allow users to sort, update, or change their view of data with few or no round trips to the server.

  • Good cross-browser and operating system compatibility because Atlas is built around the open and widely supported Asynchronous JavaScript and XML (AJAX) technologies. Examples of Atlas style applications include Microsoft Start.com and Windows Live Local, powered by Virtual Earth.

  • Simpler development model — Atlas extends AJAX in several significant ways. First, the Atlas client script libraries dramatically simplify the tasks of creating rich UIs and remote procedure calls by providing true object-oriented APIs and components for Atlas development. (A declarative syntax, familiar to ASP.NET developers, is used to specify UI layout.) Second, a rich collection of client-side controls and data-binding features increase productivity and maintainability by providing common functionality. Third, Atlas extends the AJAX concept by providing rich, integrated server development services in ASP.NET 2.0, which include ASP.NET Web services and server controls that take advantage of the power of ASP.NET in an Atlas application (for example, an ASP.NET profiles service).

Overall, "Atlas" is about simplifying AJAX development and incorporating AJAX concepts into the typical Web application development process. The ASP.NET Atlas client- and server-side development tools and components are a significant evolution and enhancement of the AJAX concept.

For more information (including tutorials, sample code, and to download Atlas), see the Atlas discussion on the Microsoft ASP.NET (http://www.asp.net/) site.

Show: