为 ASP.NET 版本配置 ASP.NET 应用程序

在默认情况下,当在已安装 .NET Framework 的计算机上安装 .NET Framework 时,所有的 ASP.NET 应用程序都会自动更新为使用该版本的 .NET Framework。唯一的例外是绑定到非兼容版本的运行库或更新版本的运行库的应用程序。虽然高版本的 .NET Framework 已设计成向后兼容,但您仍可能希望将 ASP.NET 应用程序配置为使用早期的版本。下列章节描述了配置 ASP.NET 应用程序以使用特定版本的 .NET Framework 的过程。

查看 ASP.NET 应用程序的脚本映射

在管理安装了多个 .NET Framework 版本的计算机时,查看 ASP.NET 应用程序的脚本映射对于确定应用程序使用的是哪个版本的 .NET Framework 十分有用。您可以使用 Internet 信息服务管理控制台来查看 ASP.NET 应用程序的脚本映射。

查看 ASP.NET 应用程序的脚本映射

  1. 打开 IIS 管理器,单击加号展开本地计算机,并导航到包含 ASP.NET 应用程序的文件夹。
  2. 右键单击该文件夹,然后单击“属性”。应用程序的“属性”对话框出现。
  3. 在“目录”选项卡上,单击“配置”按钮。出现“应用程序配置”对话框。
  4. 在“映射”选项卡上,选择 ASP.NET 应用程序扩展名,如 .asmx 或 .aspx。

对话框的“可执行路径”列中将列出应用程序所使用的 ASP.NET ISAPI 版本的路径。在默认情况下,ASP.NET ISAPI 安装在下列位置:

systemroot\Microsoft.NET\Framework\versionNumber

路径中显示的版本号表示应用程序使用的 ASP.NET ISAPI 的版本号。ASP.NET ISAPI 的版本决定了应用程序使用哪个版本的运行库。

使用 Aspnet_regiis.exe 更新脚本映射

为了更便于为 ASP.NET 应用程序重新配置脚本映射,每个 .NET 框架安装程序都附带相关版本的 ASP.NET IIS 注册工具 (Aspnet_regiis.exe)。管理员可以使用该工具将 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、创建客户端脚本目录和执行其他配置操作。

使用 Aspnet_regiis.exe 更新 ASP.NET 应用程序的脚本映射

  1. 打开命令窗口。(单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。)
  2. 导航到要使用的 Aspnet_regiis.exe 版本的目录。请记住,每个版本的 .NET Framework 都有自己的 Aspnet_regiis.exe 版本。该文件通常位于下列目录中:

    systemroot\Microsoft.NET\Framework\versionNumber

  3. 使用 Aspnet_regiis.exe 的 –s–sn 选项和应用程序的路径设置脚本映射。下面显示了为名为 SampleApp1 的应用程序更新脚本映射的示例命令行。
    Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1

IIS 6.0 中的应用程序池

IIS 6.0 以前的版本使用 ASP.NET 进程模型 (Aspnet_wp.exe)。在 ASP.NET 进程模式下,每个唯一的应用程序版本在运行时都自动以独立的进程运行。使用相同版本的运行库的所有应用程序都共享相同的进程(或 Web 园模式中的进程)。然而,IIS 6.0 使用 IIS 6.0 进程模型 (W3wp.exe) 并引入了一种称作应用程序池的新的隔离特性。应用程序池允许应用程序在一个或多个进程中同时运行,只要它们有相同的池标识。分配到不同应用程序池的应用程序决不会在相同的进程中运行。

当使用 IIS 6.0 的计算机上安装了多个版本的 .NET Framework 时,您会在应用程序事件日志中看到下列错误消息:

不能在相同的 IIS 进程中运行不同版本的 ASP.NET。请使用 IIS 管理工具重新配置服务器,以便在独立的进程中运行应用程序。

当多个版本的 ASP.NET 被配置为在相同的进程中运行时,就会出现该错误。不同版本的 .NET Framework 和运行库不能并行地共存于相同的进程中。因此,使用特定运行库版本的 ASP.NET 应用程序不能与使用其他运行库版本的应用程序共享进程。当两个或两个以上的应用程序被映射到不同 ASP.NET 版本,但却共享相同的应用程序池时,通常会出现该错误。

要使用应用程序池,请先确认已禁用了 IIS 5.0 隔离模式。然后,请在 Internet 信息服务管理控制台中导航到所需的应用程序,并为其指派应用程序池。如果想将应用程序与现有的应用程序池隔离开,请创建新的池标识。

注意 注意 每个应用程序的进程隔离都是手动配置的。

禁用 IIS 6.0 中的 IIS 5.0 隔离模式

  1. 打开 IIS 管理器,然后展开“本地计算机”。
  2. 右键单击“网站”文件夹,然后单击“属性”。
  3. 在“服务”选项卡上,清除“以 IIS 5.0 隔离模式运行 WWW 服务”复选框。

为 IIS 6.0 中的 ASP.NET 应用程序指派池标识

  1. 打开 IIS 管理器并展开“本地计算机”,然后导航到包含 ASP.NET 应用程序的文件夹。
  2. 右键单击该文件夹,然后单击“属性”。出现应用程序的“属性”对话框。
  3. 在“目录”选项卡上,从“应用程序池”下拉列表中选择所需的池标识。

在 IIS 6.0 中创建池标识

  1. 打开 IIS 管理器并展开“本地计算机”。
  2. 右键单击“应用程序池”文件夹,指向“新建”,然后单击“应用程序池”。出现“添加新应用程序池”对话框。
  3. 在“应用程序池”文本框中,输入新的池标识,然后单击“确定”。


相关主题


© 1997-2003 Microsoft Corporation。保留所有权利