无间道III (July 2005 C# Microsoft MVP) 的博客

《涅槃经》第十九卷:八大地狱之最,称为无间地狱,为无间断遭受大苦之意,故有此名。《地藏菩萨本愿经卷上》:如是等辈,当堕无间地狱,千万亿劫,以此连绵,求出无期......

博客园 首页 联系 订阅 管理
C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i

请参见 .NET Framework 开发员指南  

针对某一 ASP.NET 版本配置 ASP.NET 应用程序

默认情况下,在已经安装了 .NET Framework 的计算机上安装新的 .NET Framework 时,所有的 ASP.NET 应用程序都会自动更新以使用新安装的 .NET Framework 版本。唯一的例外是那些绑定到不兼容的运行库版本或更新的运行库版本的应用程序。尽管更高版本的 .NET Framework 具有向后兼容性,您仍可能需要相应地配置 ASP.NET 应用程序以使用某种旧版本。以下各节描述了针对 .NET Framework 的特定版本配置 ASP.NET 应用程序的过程。

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

在管理安装了多个版本的 .NET Framework 的计算机时,查看 ASP.NET 应用程序的脚本映射,以确定应用程序所使用的版本,这样做通常很有用。可以使用 Internet 信息服务管理控制台查看 ASP.NET 应用程序的脚本映射。

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

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

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

    系统根\Microsoft.NET\Framework\版本号

    路径中显示的版本号说明了应用程序所使用的 ASP.NET ISAPI 的版本号。ASP.NET ISAPI 版本确定了应用程序所使用的运行库版本。

使用 Aspnet_regiis.exe 更新脚本映射

为使重新配置 ASP.NET 应用程序的脚本映射更容易,每个 .NET Framework 安装都提供了一个关联的 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 都有自己的版本。文件通常位于以下目录:

    系统根\Microsoft.NET\Framework\版本号

  3. 与到应用程序的路径一起使用 Aspnet_regiis.exe 的 -s-sn 选项,以设置脚本映射。以下显示了一个命令行示例,它更新一个名为 SampleApp1 的应用程序的脚本映射。
    Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1

IIS 6.0 中的应用程序池

早于 6.0 的 IIS 版本使用 ASP.NET 进程模型 (Aspnet_wp.exe)。在 ASP.NET 进程模型下,每一个单独的应用程序版本在运行时自动运行在独立的进程中。定位到同一运行库版本的所有应用程序共享同一进程(或网络园模式中的多个进程)。然而,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. 在“应用程序池”文本框中输入新的池标识,然后单击“确定”。

请参见

ASP.NET 中的并行 (side-by-side) 支持 | ASP.NET 并行 (side-by-side) 概述

posted on 2004-05-16 21:40  无间道  阅读(1206)  评论(0编辑  收藏  举报