ASP.NET Technology Backgrounder
Web Forms pages are built with ASP.NET technology. ASP.NET is a unified Web platform that provides all the services necessary for you to build enterprise-class applications.
ASP.NET, in turn, is built on the .NET Framework, so the entire framework is available to any ASP.NET application. Your applications can be authored in any language compatible with the common language runtime, including Microsoft Visual Basic, Visual C#, and JScript .NET. The following sections provide an overview of the features offered by ASP.NET.
ASP.NET Page Framework and the Web Forms Page
The ASP.NET page framework is a programming framework that runs on a Web server to dynamically produce and manage Web Forms pages. In Visual Studio, Web Forms provides a forms designer, editor, controls, and debugging, which together allow you to rapidly build server-based, programmable user interfaces for browsers and Web client devices.
Web Forms pages run on any browser or client device. However, you can design your Web Forms page to target a specific browser, such as Microsoft® Internet Explorer 5, and take advantage of the features of a specific browser or client device. ASP.NET supports mobile controls for Web-enabled devices such as cellular phones, handheld computers, and personal digital assistants (PDAs).
The ASP.NET page framework creates an abstraction of the traditional client-server Web interaction so that you can program your application using traditional methods and tools that support rapid application development (RAD) and object-oriented programming (OOP).
Within Web Forms pages you can work with HTML elements using properties, methods, and events. The ASP.NET page framework removes the implementation details of the separation of client and server inherent in Web-based applications by presenting a unified model for responding to client events in code that runs at the server. The framework also automatically maintains the state of a page and the controls on that page during the page processing life cycle. For an overview, see Web Forms Code Model.
The ASP.NET page framework and Web Forms pages also support server controls that encapsulate common UI functionality in easy-to-use, reusable controls. For an overview, see ASP.NET Server Controls.
XML Web Services
ASP.NET supports XML Web services. An XML Web service is a component containing business functionality exposed through Internet protocols. An XML Web service enables applications to exchange information between Web-based applications using standards like HTTP and XML messaging to move data across firewalls. XML Web services are not tied to a particular component technology or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating system can access XML Web services. For more background information, see Accessing XML Web Services in Managed Code.
State Management Facilities
ASP.NET provides intrinsic state management functionality that allows you to save and manage application-specific, session-specific, and developer-defined information. This information can be independent of any controls on the page. It can be shared between pages, such as customer information or the contents of a shopping cart.
ASP.NET offers distributed state facilities. You can create multiple instances of the same application on one computer or on several computers. For more information about using state facilities in Web Forms, see Web Forms State Management.
ASP.NET allows you to include application-level event-handling code in the optional global.asax file. You can use application events to manage application-wide information and perform orderly application startup and cleanup tasks. For more information, see Global.asax File.
All ASP.NET code, including server scripts, is compiled, which allows for strong typing, performance optimizations, and early binding, among other benefits. Once the code has been compiled, the runtime further compiles ASP.NET to native code, providing improved performance. For more information on compilation, see Compilation and Deployment of Web Projects.
Note Web Forms pages, XML Web services, and components are compiled into dynamic-link library (.dll) files. Once compiled, these files do not need to be registered on the Web server on which they run.
ASP.NET configuration settings are stored in XML-based files. Since these XML files are ASCII text files, you can read and modify them, so it is simple to make configuration changes to your Web applications. Each of your applications can have its own configuration file and you can extend the configuration scheme to suit your requirements. For more information, see Configuration Files.
Visual Studio provides a simplified mechanism for deploying applications to local or remote servers. You can install files by simply copying them to your specified application directories, or by using a more specialized and configurable deployment project. For more information, see Compilation and Deployment of Web Projects.
When an ASP.NET application runs, it executes in the context of a special local user on the Web server, called ASPNET, with limited permissions. This enhances the security of your Web application code by restricting its access to Windows resources and processes. For details, see Access Permissions for Web Applications.
ASP.NET also provides various authorization and authentication schemes for Web applications. You can easily remove, add to, or replace these schemes depending upon the needs of your application. For information, see Introduction to Web Application Security.
ASP.NET takes advantage of the run-time debugging infrastructure to provide cross-language and cross-computer debugging support used both locally and remotely from a Web server. In addition, the ASP.NET page framework provides a trace mode that enables you to insert instrumentation messages into your forms. For more information, see Debugging Managed Code.
You can debug both managed and unmanaged objects, as well as all languages supported by the common language runtime and script languages. For more information, see Debugging Script and Web Applications.
ASP.NET incorporates a variety of features and tools that allow you to design and implement high-performance Web applications. These features include:
- A process model that is improved over ASP.
- Compiling requested pages and storing them on the server automatically.
- ASP.NET-specific performance counters.
- Web application testing tools.
ASP.NET gives you the ability to create Web applications that meet the demands created when the application processes a large amount of requests simultaneously. For details, see ASP.NET Optimization.
Performance Counter Support
A performance counter is the mechanism by which Windows collects performance data on various system resources. ASP.NET supports two groups of performance counters accessible to your applications:
- ASP.NET System performance counter group.
- ASP.NET Application performance counter group.
The ASP.NET system group is accessible through the Performance Monitor Application (PerfMon.exe) under the ASP.NET System performance counter object, while the ASP.NET application group is accessible via the ASP.NET Application performance counter object. ASP.NET also supports the creation of custom performance counters.
Getting More Information
The information provided above is a general overview of ASP.NET. For more detailed information, see Introduction to ASP.NET in the ASP.NET documentation.