14

我们使用 IIS 管理器在 IIS 6 (Windows Server 2003) 中创建新站点。在 IIS 6 中创建这些站点时,ASP.NET 版本默认为 ASP.NET 1.1。我们希望它默认为 ASP.NET 2.0。这对我们来说是个问题的原因是,当您使用服务器上的任何站点并将 ASP.NET 版本从 ASP.NET 1.1 切换到 ASP.NET 2.0 时,所有网站都会循环使用。

IIS 元数据库中是否有控制此设置的设置,或者通过脚本创建站点的方法可以正确设置 ASP.Net 版本,以便我们在设置每个站点时可以避免 IIS 重置?

4

5 回答 5

11

正如另一个人已经提到的,每当我需要更改站点的 .NET 设置时,我都会参考这篇文章。

至于您的问题,以下步骤(从链接的帖子中总结)应该可以满足您的需求:

  1. 从任何 .NET 框架文件夹运行aspnet_regiis -lk以列出您当前的设置,以帮助您确定哪些站点应继续使用 .NET 1.1。如果您知道有一个 .NET 1.1 站点,但该命令未明确列出该站点,则它是从 root 继承的W3SVC/

  2. 对于上一个命令未明确列出的所有 .NET 1.1 站点,您需要强制它们使用 .NET 1.1:

    1. 确定要强制使用 .NET 1.1 的站点的标识符 ID。(通过 IIS 6 Manager,您可以通过单击工具左侧的“Web Sites”文件夹来确定站点的 Identifier。在右侧,将列出您的所有站点,并且 Identifier 列显示 ID .)
    2. 从 .NET 1.1 框架文件夹中,运行您要强制使用 .NET 1.1 的站点的 ID 在aspnet_regiis -sn W3SVC/<Identifier ID>/ROOT/哪里。<Identifier ID>
  3. 最后,将根目录更改W3SVC/为使用 .NET 2.0,以便所有新创建的站点都将从根目录继承并默认使用 .NET 2.0。要更改根目录,请从 .NET 2.0 框架文件夹中运行aspnet_regiis -sn W3SVC/.

您可以aspnet_regiis -lk再次运行以验证您的设置。

于 2008-09-15T23:51:33.223 回答
6

请注意,运行 aspnet_regiis -i 会将所有 IIS 网站重新映射到 2.0。如果您有想要保留的现有 1.1 应用程序,请改为运行 aspnet_regiis -ir。这会将 2.0 设置为 IIS 的默认运行时,但不会更改现有站点的脚本映射。

于 2008-09-15T16:19:46.803 回答
4

例如,找到您想要的 .Net 版本的目录;C:\Windows\Microsoft.NET\Framework\v2.0.50727 在此处获取 cmd 提示符,然后运行 ​​aspnet_regiis -i。更多信息@ http://weblogs.asp.net/owscott/archive/2006/05/30/ASPNet_5F00_regiis.exe-tool_2C00_-setting-the-default-version-without-forcing-an-upgrade-on-all-sites .aspx

瑞安

于 2008-09-15T16:17:31.647 回答
2

以下将默认网站设置为 ASP.NET 2.0:

C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -sn W3SVC/

子应用程序从父应用程序继承 ASP.NET 设置,因此所有子应用程序都将具有新设置。

或者在设置新应用程序后作为此命令的变体运行。

于 2008-11-05T05:43:56.910 回答
1

简单的答案:打开 IIS 管理器。在导航窗格中,找到 .NET2 网站并右键单击它。选择“属性”。然后选择“ASP.NET”选项卡。该屏幕上的第一个下拉菜单让您可以选择不同版本的 .NET。

请注意——当我这样做时,网络服务器上的所有网站都停止运行。Microsoft 支持人员告诉我,.NET1 和 .NET2 不应从 Web 服务器的同一常规区域(默认网站)运行。解决方案是在 Web 服务器上为 .NET1 或 .NET2 站点创建一个应用程序池,然后使用它来隔离所有运行“其他”版本 .NET 的站点。可以在 IIS 管理器的“帮助”下找到创建应用程序池的说明。

您可以只创建一个应用程序池并将所有具有相同 .NET 的站点放在同一个池中也可以为每个应用程序创建一个应用程序池。你的选择。

于 2008-09-15T16:43:29.773 回答