在IIS中托管来自.NetCore和MVC的嵌套应用程序时出现问题

时间:2019-11-21 23:26:35

标签: asp.net-mvc .net-core iis-6 web-hosting

第1步-在Windows Server的IIS中拥有一个正在运行的.Net Core应用程序(以React为前端)。
第2步-使用IIS中的“添加应用程序”选项内部设置MVC应用程序。 (嵌套应用)

注意:这两个应用程序的AppPool不同,它们指向适当的Core / framework版本。

结果-尝试访问MVC应用时,出现“ HTTP错误502.5-进程失败”错误。从事件查看器的日志中,看来MVC应用正在尝试启动Core应用的dll,而不是MVC(下面的消息)。

具有物理根目录<< em> PATH到MVC APP 的应用程序'MACHINE / WEBROOT / APPHOST / COREAPP / MVCAPP '无法启动进程命令行'dotnet。* COREAPP * .dll',ErrorCode ='0x80004005':80008091。

相信MVC应用程序应以某种方式被迫在指向适当的dll /启动文件的框架中运行。有人可以指出我正确的方向吗?任何想法将不胜感激!

在MVC应用的mvcapp.runtimeconfig.json文件中进行以下设置

{
  "runtimeOptions": {
    "framework": {
      "name": ".net framework",
      "version": "4.8"
    },
    "configProperties": {
      "System.GC.Server": true
    }
  }
}

1 个答案:

答案 0 :(得分:0)

通过强制父应用程序不继承其配置到子应用程序来使其正常工作。在父配置中将inheditChildApplication设置设置为false。在这种情况下,我不想将任何设置继承给child,要继承某些设置时必须谨慎。

<location path="." inheritInChildApplications="false">

<system.webServer>
     Settings goes here
</system.webServer>

</location>