运行 Microsoft Windows Server 2003 家族成员的服务器可以配置为应用程序服务器,并将 ASP.NET 作为在配置应用程序服务器角色时可以启用的选项。要向产品服务器部署 ASP.NET Web 应用程序,在分发应用程序之前,必须确保在产品服务器中启用了 ASP.NET 和 IIS 角色。
注意 要在域控制器上安装 ASP.NET,您必须采取特殊的步骤来使安装正常进行。详细信息,请参阅 http://support.microsoft.com 上的 Microsoft 知识库文章 Q315158:"ASP.NET 不能在域控制器上使用默认的 ASPNET 帐户"。
ASP.NET 是与 .NET Framework 1.1 版本一起作为 Windows Server 2003 的一部分安装的,您只需将它作为控制面板中的新程序来添加,或通过使用"配置您的服务器"向导来启用它。
注意 在运行 Windows Server 2003 的服务器上使用"配置您的服务器"向导或"添加或删除程序"对话框安装 ASP.NET 时,ASP.NET 会在 IIS 管理器中自动启用。但是,如果通过 Web 下载或将其作为应用程序(如 Visual Studio .NET)的一部分来安装,您就必须手动启用 ASP.NET。有关说明,请参阅本主题后面的"在运行 Windows Server 2003 的 IIS 管理器中启用 ASP.NET"的程序。
使用"配置您的服务器"向导在运行 Windows Server 2003 的服务器中安装 ASP.NET
从"开始"菜单中,单击"管理您的服务器";在"管理您的服务器"窗口中,单击"添加或删除角色"。
在"配置您的服务器向导"中,单击"下一步",并在"服务器角色"对话框中,选中"应用程序服务器 (IIS、ASP.NET)",然后单击"下一步"。
在"应用程序服务器选项"对话框中,选中"启用 ASP.NET"复选框,单击"下一步",然后再单击"下一步"。
如有必要,请将 Windows Server 2003 安装 CD 插入 CD-ROM 驱动器,然后单击"下一步"。
当安装完成时,单击"完成"。
在运行 Windows Server 2003 的服务器中使用"添加或删除程序"安装 ASP.NET
从"开始"菜单中,指向"控制面板",然后单击"添加或删除程序"。
在"添加或删除程序"对话框中,单击"添加/删除 Windows 组件"。
在"Windows 组件"向导中的"组件"中,选中"应用程序服务器"复选框,然后单击"下一步"。
当在"Windows 组件"向导中完成对 Windows Server 2003 的配置时,单击"完成"。
在运行 Windows Server 2003 的服务器中的 IIS 管理器中启用 ASP.NET
从"开始"菜单中,单击"运行"。
在"运行"对话框中的"打开"框中,键入 inetmgr,然后单击"确定"。
在 IIS 管理器中,展开本地计算机,然后单击"Web 服务扩展"。
在右侧窗格中,右键单击"ASP.NET"然后单击"允许"。ASP.NET 的状态变为"允许"。
卸载 ASP.NET
在 Windows Server 2003 上,可以使用"配置您的服务器"向导或使用控制面板中的"添加或删除程序"对话框来禁用或卸载 ASP.NET。
下面的步骤描述了如何从支持 ASP.NET 和 .NET Framework 的所有服务器平台上将其删除。也可能需要将其卸载以排解 ASP.NET 的安装的问题。
使用"配置您的服务器"向导在运行 Windows Server 2003 的计算机上卸载 ASP.NET
从"开始"菜单中,单击"管理您的服务器",在"管理您的服务器"窗口中,单击"添加或删除角色"。
在"配置您的服务器"向导中,单击"下一步",在"服务器角色"对话框中,请不要选中"应用程序服务器 (IIS,ASP.NET)",然后单击"下一步"。
当安装程序结束时,单击"完成"。
在运行 Windows Server 2003 的计算机上卸载 ASP.NET 和 .NET Framework
从"开始"菜单中,指向"控制面板",然后单击"添加或删除程序"。
在"当前安装的程序"框中,单击"Microsoft .NET Framework (language) version",然后单击"更改/删除"按钮。
注意 在程序名称中,language 是占位符,表示想要从服务器上删除的 .NET Framework 版本的语言,version 表示想要从服务器上删除的安装版本号。
在"添加或删除程序"对话框中,单击"是"。
回答来自安装程序的任何问题。
ASP.NET 安装疑难解答
在新的 ASP.NET 安装中通常会发生的几种故障:
已经在服务器上安装了 ASP.NET 和 .NET Framework,但是当从应用程序中请求页面时,却没有任何反应且没有解析该请求。
在安装 .NET Framework 前,需要在服务器上安装并启用 IIS。可以从服务器上卸载 .NET Framework,再安装 IIS,然后重新安装 .NET Framework,或者可以安装 IIS,然后使用 ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 配置 IIS 用于 ASP.NET 文件名扩展的脚本映射。详细信息,请参阅本主题后面的卸载 ASP.NET、设置应用程序映射以及"使用 Aspnet_regiis.exe 修复 ASP.NET 的 IIS 映射"过程。
随着安装并启用 IIS 以及卸载和重新安装 IIS 的过程,您已经安装了 ASP.NET 和 .NET Framework。当在应用程序中请求页面时,没有任何反应且没有解析该请求。
当卸载并重新安装 IIS 时,IIS 用于 ASP.NET 的脚本映射损坏了。使用 Aspnet_regiis.exe 配置 IIS 用于 ASP.NET 文件名扩展的脚本映射。有关详细信息,请参阅本主题后面的"使用 Aspnet_regiis.exe 修复 ASP.NET 的 IIS 映射"过程。
您已经安装并启用了 IIS,也安装了 ASP.NET 和 .NET Framework,部署了应用程序并请求某个页面,却收到了下面的错误消息之一:
拒绝访问"C:\Inetpub\Wwwroot"目录。启动监视目录变化失败。
服务器不能访问应用程序目录"C:\Inetpub\Wwwroot\ Virtual Directory Name \"。目录不存在或由于安全设置不可访问。
没有为网站或虚拟目录设置适当的权限。ASP.NET 需拥有在根网站或任何虚拟目录上的 ASPNET 帐户(Aspnet_wp.exe 处理帐户)的读、执行和列表访问权限。这些设置是必要的,这样 ASP.NET 可以访问内容文件并可以监视文件的变化。要改正这个故障,请遵循以下过程中的步骤。
在根网站或任何虚拟目录上添加 ASPNET 帐户的读、执行和列表权限
在 Windows 资源管理器中,浏览到包含有根网站(默认值为 C:\Inetpub\Wwwroot)或虚拟目录的文件夹。
右键单击该文件夹,然后单击"属性"。
在"安全"选项卡上,单击"添加"。
键入 ComputerName\ASPNET (例如,在名称为 STAR 的计算机上,键入 STAR\ASPNET),然后单击"确定"。
允许 ASPNET 帐户具有下列权限:读取和运行、列出文件夹目录、读取。
单击"确定"以关闭"属性"对话框并保存所做更改。
注意 如果 Everyone 组或 Users 组具有对根网站或虚拟目录的读访问权限,则不必执行这些步骤。
使用 Aspnet_regiis.exe 修复 ASP.NET 的 IIS 映射
从"开始"菜单,单击"运行"。
在"运行"对话框中的"打开"框中,键入 cmd,然后单击"确定"。
在新窗口中的命令提示符下,键入以下行:
"%systemroot%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -i。
在该路径中,version 表示安装在服务器上的 .NET Framework 的版本号。在键入命令时,必须用实际的版本号去代替这个占位符。
注意 在该命令中必须包含引号。
有关 Aspnet_regiis.exe 的详细信息,请以 -? 作为参数重复步骤 3 或参阅 ASP.NET IIS 注册工具 (Aspnet_regiis.exe)。
另外,在 Windows Server 2003 上,如果从 Web 下载或通过 Visual Studio .NET 安装了 .NET Framework 和 ASP.NET,则必须从 IIS 管理器中手动启用 ASP.NET。详细信息,请参阅安装 ASP.NET。
注意 如果要在域控制器上安装 ASP.NET,您必须采取特殊的步骤来使安装正常进行。详细信息,请参阅位于 http://support.microsoft.com 的 Microsoft 知识库中的文章 CHS315158:"ASP.NET 在域控制器上不能使用默认 ASPNET 帐户"。
ASP.NET IIS 注册工具 (Aspnet_regiis.exe)
当您在单个计算机上并行执行多个版本的 .NET Framework 时,脚本映射到 ASP.NET 应用程序的 ASP.NET ISAPI 版本将确定该应用程序使用的公共语言运行库版本。ASP.NET IIS 注册工具 (Aspnet_regiis.exe) 允许管理员或安装程序很容易地更新 ASP.NET 应用程序的脚本映射,以便指向与工具相关的 ASP.NET ISAPI 版本。此工具还可以用于显示所有已安装的 ASP 版本的状态。NET 注册与工具配对的 ASP.NET 版本,创建客户端脚本目录,并执行其他配置操作。
Aspnet_regiis [options]
您可以指定下列一个或多个选项。
选项 描述
-c 将 ASP.NET 的客户端脚本(如客户端的验证脚本)安装到每个 IIS 站点目录的 aspnet_client 子目录中。
注意 仅安装与 Aspnet_regiis.exe 相关的 ASP.NET 版本的客户端脚本。
-e 从每个 IIS 站点目录中的 aspnet_client 子目录中删除 ASP.NET 的客户端脚本。
注意 仅删除与 Aspnet_regiis.exe 相关的 ASP.NET 版本的客户端脚本。
-ea 从每个 IIS 站点目录的 Aspnet_client 子目录中删除所有 ASP.NET 版本的客户端脚本。
-i 安装与 Aspnet_regiis.exe 相关的 ASP.NET 版本,并更新 IIS 配置数据库根及其下的脚本映射。
注意 仅更新使用早期 ASP.NET 版本的应用程序的脚本映射。使用后续版本的应用程序不受影响。
-ir 安装与 Aspnet_regiis.exe 相关的 ASP.NET 版本并仅在 IIS 中注册 ASP.NET。
注意 此选项不会更新脚本映射。要安装 ASP.NET 并更新脚本映射,请使用 -i 选项。
-k path 从所有 ASP.NET 应用程序中将脚本映射删除到所有 ASP.NET 版本中,这些 ASP.NET 应用程序位于所指定的应用程序的根路径及其子目录中。
-kn path 仅从所指定的应用程序根路径中的 ASP.NET 应用程序中将脚本映射删除到 ASP.NET 版本中。
注意 该选项不影响 path 子目录中的应用程序。
-lk 列出 ASP.NET 脚本映射的路径和所有 IIS 配置数据库项的版本。
注意 从父项继承 ASP.NET 脚本映射的项不会显示。
-lv 列出在计算机上安装的所有 ASP.NET 版本的状态和安装路径。
-r 更新 IIS 配置数据库中及其下的所有脚本映射,以便将其指向与 Aspnet_regiis.exe 相关的 ASP.NET ISAPI 版本。
注意 除当前版本外,所有现有脚本都将更新到指向与 Aspnet_regiis.exe 相关的 ASP.NET ISAPI 版本。
-s path 将指向与 Aspnet_regiis.exe 关联的 ASP.NET ISAPI 版本的脚本映射安装到所指定的应用程序的根路径及其子目录处的所有 ASP.NET 应用程序中。所有在指定路径和其下面使用 ASP.NET ISAPI 版本的现有脚本映射都会更新。
-sn path 将指向与 Aspnet_regiis.exe 关联的 ASP.NET ISAPI 版本的脚本映射安装到所指定的应用程序根路径处的 ASP.NET 应用程序中。所有在指定路径中使用 ASP.NET ISAPI 早期版本的现存脚本映射都会更新。
注意 该选项不影响 path 子目录中的应用程序。
-u 从计算机中卸载与 Aspnet_regiis.exe 相关联的 ASP.NET 版本。此 ASP.NET ISAPI 版本的现有脚本映射会自动重新映射到所安装的最高的剩余 ASP.NET ISAPI 版本中。
-ua 从计算机中卸载全部 ASP.NET 版本。
-? 显示工具的选项和命令语法。
注释
当计算机中安装了多个版本的 ASP.NET 时,ASP.NET 会并行地运行。在此安装过程中,Internet 信息服务 (IIS) 需要知道应在 ASP.NET 中处理页的 ASP.NET ISAPI (aspnet_isapi.dll) 版本。与 ASP.NET 应用程序相关联的 ASP.NET ISAPI 版本将确定用于该应用程序的公共语言运行库。ASP.NET 应用程序通过 IIS 中的脚本映射与 ASP.NET ISAPI 版本相关联。要简化 ASP.NET 应用程序的配置过程,每个 ASP.NET 版本应该包括链接的 Aspnet_regiis.exe 版本。
注意 每个版本的 .NET Framework 都包含唯一的 Aspnet_regiis.exe 版本。因为工具的每个版本仅能应用于与其相关联的 .NET Framework 版本,所以请使用该版本的适当工具来配置 ASP.NET 应用程序。
Aspnet_regiis.exe 通常与 -s 或 -sn 选项一起使用,以将 ASP.NET 应用程序重新映射到与工具相关联的 .NET Framework 版本中。请使用 -s 选项更新在指定路径和它们所有子目录中的应用程序。如果不想更新子目录中的应用程序,请使用 -sn 选项。要立即更新计算机中所有现有 ASP.NET 应用程序的脚本映射,请使用 -r 选项。
注意 path 参数引用的是应用程序的根路径,而不是物理路径。例如,W3SVC/1/ROOT/SampleApp1。
相反,您可以使用此工具从使用 -k 或 -kn 选项的任何 ASP.NET 版本中删除脚本映射,并指定应用程序的根路径。
注意 如果指定的根路径从父根路径中继承了其脚本映射,则 -k 和 -kn 选项不起作用。
该工具也可用来安装或卸载链接的 ASP.NET 版本。请使用 -i 选项安装 ASP.NET 并更新所有现有 ASP.NET 应用程序的脚本映射。使用 -ir 选项安装 ASP.NET,无需更新脚本映射。要卸载与该工具相关的 ASP.NET 版本,请使用 -u 选项。如果想从计算机中卸载所有版本的 ASP.NET,请使用 -ua 选项。
您可以使用 Aspnet_regiis.exe 查看关于 ASP.NET 的信息。要列出所有已安装的 ASP.NET 版本的状态和安装路径,请使用 -lv 选项。如果您要查看由 ASP.NET 脚本映射的所有 IIS 配置数据库项的路径,请使用 -lk 选项。
客户端脚本(如客户端验证)可以使用 Aspnet_regiis.exe 来进行安装和删除。将与工具相关联的 ASP.NET 版本的客户端脚本安装到每个 IIS 站点目录的 aspnet_client 子目录中,请使用 -c 选项。要删除与工具相关的 ASP.NET 版本的客户端脚本,请使用 -e 选项。要删除所有已安装的 ASP.NET 版本,请使用 -ea 选项。
有关在 ASP.NET 中并行执行的详细信息,请参阅 ASP.NET 中的并行支持。有关脚本映射和应用程序根路径的详细信息,请参阅设置应用程序映射。
示例
下列命令将指向与 Aspnet_regiis.exe 相关的 ASP.NET 版本的脚本映射安装到 SampleApp1 应用程序及其所有子应用程序中。
Aspnet_regiis -s W3SVC/1/ROOT/SampleApp1
下列命令仅会更新 SampleApp1 应用程序的脚本映射,而不会影响子目录中的应用程序。
Aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1
下列命令将安装与工具相关的 ASP.NET 版本,并更新所有现有 ASP.NET 应用程序的脚本映射。请注意仅有在当前脚本映射到早期 ASP.NET 版本的应用程序才会受到影响。
Aspnet_regiis -i
下列命令将安装与工具相关的 ASP.NET 版本,但不会更新现有 ASP.NET 应用程序的脚本映射。
Aspnet_regiis -ir
下列命令显示在计算机上安装的所有 ASP.NET 版本的状态和安装路径。