Overview of ASP.NET Side-By-Side Support

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

The .NET Framework allows you to install multiple versions of the runtime on the same computer. By default, when the .NET Framework is installed on a computer with an existing installation, all ASP.NET applications are automatically updated to use this version of the .NET Framework. The only exceptions are applications that are bound to an incompatible version of the runtime or to a later version of the runtime. Although later versions of the .NET Framework are designed to be backwards compatible, you might want to configure an ASP.NET application to use an earlier version.

Script Maps for ASP.NET Applications

When multiple versions of the .NET Framework are installed on the same computer, each installation contains an associated version of the ASP.NET ISAPI. An ASP.NET application uses the ASP.NET ISAPI to determine which version of the .NET Framework to use for the application. An ASP.NET application can be configured to use any of the installed ASP.NET ISAPI versions. To specify the ASP.NET ISAPI version to use for an ASP.NET application, a script map is registered in Internet Information Services (IIS) for the application.

A script map associates a file name extension and HTTP verb with the appropriate ISAPI for script handling. For example, when IIS receives a request for an .aspx file, the script map for the application directs IIS to forward the requested file to the appropriate version of the ASP.NET ISAPI for processing. The script map for each ASP.NET application is normally set in the Internet Information Services management console and can be applied directly to an application, or inherited from a parent application. By default, when the .NET Framework is installed, the script maps for all existing ASP.NET applications on the computer are automatically updated to use the ASP.NET ISAPI version associated with the installation, unless the application uses a later or an incompatible version.

To make it easier to reconfigure the script map for an ASP.NET application, each installation of the .NET Framework comes with an associated version of the ASP.NET IIS Registration tool (Aspnet_regiis.exe). By default, this tool is installed in the following directory:

%systemroot%\Microsoft.NET\Framework\versionNumber

Administrators can use this tool to remap an ASP.NET application to the ASP.NET ISAPI version associated with the tool.

Note

Because Aspnet_regiis.exe is associated with a specific version of the .NET Framework, administrators must use the appropriate version of Aspnet_regiis.exe to reconfigure the script map for an ASP.NET application. Aspnet_regiis.exe only reconfigures the script map of an ASP.NET application to the ASP.NET ISAPI version associated with the tool.

The tool can also be used to display the status of all installed versions of ASP.NET, register the associated version of ASP.NET, create client-script directories, and perform other configuration operations.

For more information about script maps and IIS configuration, see IIS 6.0 Operations Guide. For more information about updating script maps for an ASP.NET application, see ASP.NET IIS Registration Tool (Aspnet_regiis.exe).

ASP.NET Performance Counters

Performance counters allow you to monitor the operation of ASP.NET from the Performance console. Each installation of ASP.NET installs performance counters that apply to each individual version of ASP.NET, as well as to all installed versions.

Each version of ASP.NET installs a separate set of performance counter objects to monitor the ASP.NET system and ASP.NET applications. These objects use the naming conventions "ASP.NET v.X.X.XXXX.X" and "ASP.NET Apps v.X.X.XXXX.X", respectively, where v.X.X.XXXX.X denotes the ASP.NET version and build numbers.

In addition, ASP.NET also installs ASP.NET system and ASP.NET applications performance counters that apply to all installed versions of ASP.NET. Since these counters are shared between all versions of ASP.NET, they always correspond to the latest installed version on the machine. If the latest version of ASP.NET is uninstalled, these counters are automatically re-associated with the latest remaining version of ASP.NET.

ASP.NET State Service

ASP.NET state service is used to manage session state on a computer. All compatible versions of ASP.NET that are installed on the same computer share the same state service. The state service version that is used is always the one that is installed with the latest version of ASP.NET. This version is registered under aspnet_state. Therefore, when this version of ASP.NET is uninstalled, the latest remaining version on the computer is then registered and used in its place.

ASP.NET SQL State Server

ASP.NET SQL state server is used to manage session state in SQL on a computer. All compatible versions of ASP.NET that are installed on the same computer share the same SQL state server. The SQL state server version that is used is always the one that is installed with the latest version of ASP.NET. When this version of ASP.NET is uninstalled, the latest remaining version on the computer is then registered and used in its place.

ASPNET User Account and Filter

All installed versions of ASP.NET share the same ASPNET user account (for the worker process) and Aspnet_filter.dll (for storing and removing the session ID from cookie-less session-state requests). The ASPNET user account and Aspnet_filter.dll always corresponds to the latest installed version of ASP.NET. When this version of ASP.NET is uninstalled from a computer, the latest remaining version on the computer is then registered and used in its place.