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

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

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

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

具有物理根目录 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
    }
  }
}
trydiy 回答:在IIS中托管来自.NetCore和MVC的嵌套应用程序时出现问题

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

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

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

</location>

本文链接:https://www.f2er.com/3054176.html

大家都在问