关于asp.net:创建新站点时,如何告诉IIS 6将.NET版本设置为2.0(而不是1.1)?

关于asp.net:创建新站点时,如何告诉IIS 6将.NET版本设置为2.0(而不是1.1)?

How do you tell IIS 6 to set the .NET version to 2.0 (not 1.1) When New sites are created?

我们使用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?


正如另一个人已经提到的,每当我需要更改站点的.NET设置时,我都会引用此帖子。

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

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

  • 对于先前命令未明确列出的所有.NET 1.1站点,您将需要强制它们使用.NET 1.1:

  • 确定要强制使用.NET 1.1的站点的标识符ID。 (通过IIS 6管理器,您可以通过单击工具左侧的"网站"文件夹来确定网站的标识符。在右侧,将列出所有网站,并且"标识符"列显示ID )
  • 在.NET 1.1 framework文件夹中,运行aspnet_regiis -sn W3SVC//ROOT/,其中是要强制使用.NET 1.1的站点的ID。
  • 最后,将根W3SVC/更改为使用.NET 2.0,以便所有新创建的站点都将从根继承,默认情况下使用.NET 2.0。要更改根目录,请从.NET 2.0 framework文件夹中,运行aspnet_regiis -sn W3SVC/
  • 您可以再次运行aspnet_regiis -lk来验证您的设置。


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


    例如,找到所需的.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

    瑞安


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

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

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

    设置新应用程序后,也可以在此命令上以变体形式运行。


    简单的答案:打开IIS管理器。在导航窗格中,找到.NET2网站,然后右键单击它。选择"属性"。然后选择" ASP.NET"选项卡。该屏幕上的第一个下拉菜单为您提供选择其他版本的.NET的选项。

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

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


    推荐阅读