Overview of ASP.NET

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1

ASP.NET is a unified Web application platform that provides the services necessary to build and deploy enterprise-class Web applications. ASP.NET offers a new programming model and infrastructure for more secure, scalable, and stable applications that can target any browser or device.

ASP.NET is part of the Microsoft .NET Framework, a computing environment that simplifies application development in the highly distributed environment of the Internet. The .NET Framework includes the common language runtime (CLR), which provides core services such as memory management, thread management, and code security. It also includes the .NET Framework class library, which is a comprehensive, object-oriented collection of types that developers can use to create applications.

ASP.NET offers the following benefits:

  • Manageability: ASP.NET uses a text-based, hierarchical configuration system that simplifies applying settings to your server environment and Web applications. Because configuration information is stored as plain text, new settings can be applied without the aid of local administration tools. Any changes to the configuration files are automatically detected and applied to the application. For more information, see Overview of ASP.NET Configuration.

  • Security: ASP.NET provides default authorization and authentication schemes for Web applications. Developers can easily add to, remove, or replace these schemes depending on the needs of the application. For more information, see Overview of ASP.NET Security.

  • Ease of Deployment: An ASP.NET application is deployed to a server by simply copying the necessary files to the server. No server restart is required — not even to deploy or replace running compiled code. For more information, see Overview of ASP.NET Deployment.

  • Enhanced Performance: ASP.NET is compiled code running on the server. Unlike traditional Active Server Pages (ASP), ASP.NET can take advantage of early binding, just-in-time (JIT) compilation, native optimization, and caching services right out of the box for improved performance. For more information, see Overview of ASP.NET Performance Monitoring.

  • Flexible Output Caching: ASP.NET can cache page data, portions of a page, or whole pages, depending on the needs of the application. Cached items can be dependent on files or other items in the cache, or they can be refreshed based on an expiration policy.

  • Internationalization: ASP.NET uses Unicode internally to represent request and response data. Internationalization settings can be configured for each computer, each directory, and each page.

  • Mobile Device Support: ASP.NET supports any browser on any device. Developers use the same programming techniques to target new mobile devices that they use for traditional desktop browsers.

  • Scalability and Availability: ASP.NET was designed to be scalable, with features specifically tailored to improve performance in clustered and multiprocessor environments. Moreover, processes are closely monitored and managed by Internet Information Services (IIS) and the ASP.NET CLR so that if one misbehaves, a new process can be created in its place, which helps keep your application available to handle requests. For more information, see Overview of ASP.NET Process Isolation.

  • Tracing and Debugging: ASP.NET provides tracing services that can be enabled during debugging at both the application level and the page level. You can choose to view the information either in a page or using the application-level trace viewing tool. ASP.NET supports local and remote debugging with .NET Framework debugging tools, both during development and when the application is in production. When an application is put into production, tracing statements can be left in the production code with no impact on performance.

  • Integration with the .NET Framework: Because ASP.NET is part of the .NET Framework, the power and flexibility of the entire platform is available to Web applications. The .NET class library, as well as solutions for messaging and data access, are all seamlessly accessible from the Web. ASP.NET is language-independent, so developers can choose the language that best applies to the application. In addition, CLR interoperability preserves existing investments in COM-based development.

  • Compatibility with Existing ASP Applications: ASP and ASP.NET can run side by side on an IIS Web server without interference; there is no chance of corrupting an existing ASP application by installing ASP.NET. Only files with a .aspx file name extension are processed by ASP.NET. Files with an .asp file name extension will continue to be processed by the ASP engine. You should note, however, that session state and application state are not shared between ASP and ASP.NET pages.

ASP.NET enables two features for distributed applications: Web Forms and XML Web services. These two features are supported by the same configuration and debugging infrastructure.

  • Web Forms technology enables you to build powerful form-based Web pages. Web Forms pages use reusable built-in or custom components to simplify the code of a page.

  • XML Web services that are created using ASP.NET enable you to access servers remotely. Using XML Web services, businesses can provide programmatic interfaces to their data or business logic, which in turn can be obtained and manipulated by client and server applications. XML Web services enable the exchange of data using standards such as XML messaging and HTTP across firewalls in client/server and server/server scenarios. Programs written in any language and running on any operating system can call XML Web services.