.NET Framework 允许在同一台计算机上安装多个版本的运行库。在默认情况下,当在已经装有 .NET Framework 的计算机上安装 .NET Framework 时,所有的 ASP.NET 应用程序都会自动更新为使用该版本的 .NET Framework。唯一的例外是绑定到非兼容版本的运行库或更新版本的运行库的应用程序。虽然较新版本的 .NET Framework 设计是向后兼容的,您可能还希望配置 ASP.NET 应用程序以使用早期版本的 .NET Framework。
当 .NET Framework 的多个版本安装在同一台计算机上时,每个安装都含有一个 ASP.NET ISAPI 的相关版本。ASP.NET 应用程序使用 ASP.NET ISAPI 来确定将哪个版本的 .NET Framework 用于该应用程序。可以配置 ASP.NET 应用程序来使用任何已安装的 ASP.NET ISAPI 版本。要指定用于 ASP.NET 应用程序的 ASP.NET ISAPI 版本,需要在 Internet 信息服务 (IIS) 中为应用程序注册脚本映射。
脚本映射将文件扩展名和 HTTP 动作与进行脚本处理的适当的 ISAPI 相关联。例如,当 IIS 接收到 .aspx 文件请求时,该应用程序的脚本映射会指示 IIS 将所请求的文件转发给适当版本的 ASP.NET ISAPI 来处理。每个 ASP.NET 应用程序的脚本映射通常在 Internet 信息服务管理控制台上设置,并且可以直接应用于应用程序或是从父应用程序中继承。在默认情况下,在安装 .NET Framework 后,计算机上所有现有 ASP.NET 应用程序的脚本映射将自动更新到使用与安装相关的 ASP.NET ISAPI 版本,除非该应用程序使用了更新的或不兼容的版本。
为了更便于为 ASP.NET 应用程序重新配置脚本映射,每个 .NET Framework 安装程序都附带相关版本的 ASP.NET IIS 注册工具 (Aspnet_regiis.exe)。在默认情况下,该工具安装在以下目录中:
systemroot\Microsoft.NET\Framework\versionNumber
管理员可以使用该工具将 ASP.NET 应用程序重新映射到与该工具相关的 ASP.NET ISAPI 版本。
注意 因为 Aspnet_regiis.exe 与特定 .NET Framework 版本相关,管理员必须使用适当的 Aspnet_regiis.exe 版本重新配置 ASP.NET 应用程序的脚本映射。Aspnet_regiis.exe 只会将 ASP.NET 应用程序的脚本映射重新配置到与该工具相关的 ASP.NET ISAPI 版本。
该工具还可用于显示所有已安装版本的 ASP.NET 的状态、注册相关版本的 ASP.NET、创建客户端脚本目录和执行其他配置操作。
有关脚本映射和 IIS 配置的详细信息,请参阅 IIS 帮助。有关更新 ASP.NET 应用程序的脚本映射的详细信息,请参阅 ASP.NET IIS 注册工具 (Aspnet_regiis.exe)。
性能计数器可使您在性能控制台上监视 ASP.NET 的运行。每个 ASP.NET 安装程序都会安装既应用于每个单独的 ASP.NET 版本又应用于所有已安装版本的性能计数器。
每个 ASP.NET 版本都会安装单独的一套性能计数器对象以监视 ASP.NET 系统和 ASP.NET 应用程序。这些对象分别使用“ASP.NET v.X.X.XXXX.X”和“ASP.NET Apps v.X.X.XXXX.X”命名约定,其中 v.X.X.XXXX.X 代表 ASP.NET 的版本和内部版本号。
另外,ASP.NET 也安装了应用于所有已安装的 ASP.NET 版本的 ASP.NET 系统和 ASP.NET Application 性能计数器,因为这些计数器在所有的 ASP.NET 版本之间共享,则它们总是对应于机器上最新安装的版本。如果卸载了最新版本的 ASP.NET,则这些计数器会自动与剩余的最新版本的 ASP.NET 重新相关。
ASP.NET 状态服务用于管理计算机上的会话状态。安装在同一台计算机上的所有兼容版本的 ASP.NET 都共享相同的状态服务。所使用的状态服务版本也总是随最新版本的 ASP.NET 安装的状态服务。该版本注册在 aspnet_state 下。因此,当卸载了该版本的 ASP.NET 时,则会注册计算机上剩余的最新版本并立即使用。
ASP.NET SQL 状态服务器用于管理计算机上 SQL 中的会话状态。安装在同一台计算机上的所有兼容版本的 ASP.NET 都共享相同的 SQL 状态服务器。所使用的 SQL 状态服务器版本也总是随最新版本的 ASP.NET 安装的状态服务器,当卸载了该版本的 ASP.NET 时,则会注册计算机上剩余的最新版本并立即使用。
所有已安装的 ASP.NET 版本都共享相同的 ASPNET 用户帐户(用于工作进程)和 Aspnet_filter.dll(用于从无 Cookie 的会话状态请求中存储和删除对话 ID)。ASPNET 用户帐户和 Aspnet_filter.dll 总是对应于最新已安装的 ASP.NET 版本。当该版本的 ASP.NET 从计算机上卸载后,则会注册计算机上剩余的最新版本并立即使用。