【问题标题】:using .net 4 and .net 2 on iis 6 getting a "Server Application Unavailable" error在 iis 6 上使用 .net 4 和 .net 2 得到“服务器应用程序不可用”错误
【发布时间】:2012-02-22 19:24:11
【问题描述】:

我正在使用一个在 .net 2 上运行的非常旧的网站,但我正在添加一个附加功能,即在 .net 4 上运行的 MVC 3,在原始网站下创建为虚拟目录。

问题是,如果我使用其中一个框架得到“服务器应用程序不可用”,我可以为该框架运行 aspnet_regiis 并修复它,但它会使另一个框架出现此错误

我修复了一个,它破坏了另一个

有没有办法解决这个问题

我需要这个尽快,客户正在呼吸我的脖子

【问题讨论】:

  • 您是否在同一个应用程序池下运行这两个应用程序?您不能在单个应用程序池中混合和匹配框架版本。

标签: asp.net asp.net-mvc asp.net-mvc-3 iis-6 aspnet-regiis.exe


【解决方案1】:

只需针对每个框架创建两个应用程序池。

【讨论】:

  • 非常感谢你,我不敢相信我从来没有想过这个。我猜是因为我的恐慌
  • @Gabe 在 IIS6 上,我找不到将应用程序池更改为针对相应框架的位置。你会怎么做?
  • 您在网站属性中更改它,而不是在应用程序池属性中更改,这也让我感到困惑
  • 我要补充一点,我必须强制应用程序池通过 IIS 进行回收才能让我的页面返回。
  • @JonasT - 您可以通过右键单击应用程序然后转到 IIS6 中的 ASP.net 选项卡来更改目标框架
【解决方案2】:

IIS 不支持在单个应用程序池中运行多个 .Net 框架。如果某个应用程序需要与同一应用程序池中的其他应用程序不同的框架版本,则必须将其放入新的应用程序池中。

您需要为每个框架版本使用不同的应用程序池。

【讨论】:

    【解决方案3】:

    你有三个选择:

    1. 将现有站点升级到 .net 4。
      这可能需要做很多工作.. 也可能不会。

    2. 从“添加”重新开始。
      这次使用与内置网站相同的技术。在不知道您添加的内容的情况下,这可能比 #1 更容易。

    3. 为您的 4.0 网站创建一个新的应用程序池。
      这个项目有一个警告,你不会在两者之间共享会话数据。但可能是最方便的。鉴于您现在才发现问题,我猜测该添加确实没有那么紧密集成,因此您可能会没事的。

    无论哪种方式,我希望您从中吸取的教训是,在现有网站上使用新饰品可能不是最好的方法。 ;)

    【讨论】:

      猜你喜欢
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 2018-07-10
      • 2011-01-14
      相关资源
      最近更新 更多