【问题标题】:Asp.net core installed on existing IIS 10 ASP.NET MVC site?现有 IIS 10 ASP.NET MVC 站点上安装的 Asp.net 核心?
【发布时间】:2020-07-15 02:18:55
【问题描述】:

我想尝试一下,但我很紧张,因为我们只有一个生产服务器,没有开发服务器。所以我在做任何事情时总是小心翼翼。当他们在投入生产之前不给我一个开发服务器来测试代码时,这是一个奇怪的工作场所......

在运行 asp.net MVC 4 应用程序的 Windows Server 2016 上使用 IIS 10,我想为 IIS 安装 ASP.NET Core 以测试运行新的 rest api。但我不想安装 ASP.NET Core 并发现它对 IIS 做了一些破坏已经在生产中运行的现有 mvc 4 应用程序的事情。我知道 Dotnet Core 在 IIS 之后运行,所以它不应该触及 IIS 运行时,但是在 Windows 中,安装过程中总是有可能发生一些变化,现在现有站点停止工作,我正在努力弄清楚如何解决它。

有人可以告诉我他们尝试这个的经验吗?在 Windows 2016 服务器上安装 asp.net core 会影响现有的 asp.net mvc 4 应用程序吗?

谢谢,

布赖恩

【问题讨论】:

  • “我知道 Dotnet Core 在 IIS 之后运行,所以它不应该接触 IIS 运行时”是不正确的。由于您必须在 IIS 上安装 ASP.NET Core 模块,因此影响始终存在。在很多情况下,您不需要生产 Windows Server,因为 Windows 10 通常就足够了。
  • @LexLi 你忘记了你也可以在 IIS 后面运行 ASP.NET Core(使用 AAR、FastCGI 等)而不是在 inside IIS 中运行它(使用它ASP.NET Core IIS 模块)。我相信您也可以通过将二进制文件放在您网站的应用程序范围内来“安装”该模块,这样它就不会改变服务器范围的配置。
  • 还有 IIS Express、“IIS Hostable Web Core”,以及直接使用 HTTP.SYS 运行 Kestrel。
  • @Dai 如果您查看 Microsoft 的指南,则没有详细讨论这些替代方案。 “我相信您还可以通过将二进制文件放在您网站的应用程序范围内来“安装”该模块,这样它就不会改变服务器范围的配置。”但这不是人们从默认安装中得到的,所以如果这破坏了 IIS(很少发生,但过去发生过),人们将无法轻松修复。

标签: iis .net-core


【解决方案1】:

Asp.net MVC 使用 ExtensionlessUrlHandler-Integrated-4.0 和 asp.net handler aspNetCore handler。如果您需要在 IIS 中测试 asp.net core,那么您只需安装 asp.net core web hosting bundle。仅安装 asp.net 核心不应损坏现有站点。

如果您的 MVC4 站点损坏,那么您的部署方法一定有问题。

如果您需要在同一个 IIS 下托管 asp.net core 和 mvc 应用程序。请确保它们位于不同的子应用程序下,以免 MVC 和 .net 核心应用程序相互损坏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 2020-07-17
    • 1970-01-01
    • 2016-04-21
    • 2016-12-14
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多