首页 > 解决方案 > 在 IIS 上将 Web 应用程序 .net 核心部署为 .net 4.0 的子应用程序的问题

问题描述

我在 IIS 8 上部署了一个带有后端 .net 4.0 的应用程序 Angular.js,它使用我公司的 URL 域。

现在我使用 .net core 2.1 创建了一个新应用程序,我希望使用相同的域 url 部署这些应用程序,但使用不同的路径来访问像 mydomainprincipal/myNewApp 这样的路由

这个 .net 核心应用程序在开发环境中运行良好,但是当我在 IIS 上作为子应用程序发布时,在主站点中创建一个新站点并尝试在浏览器上访问此应用程序它不会加载 site.js(它返回 403)但显示如果我尝试访问 mydomainprincipal/myNewApp/mycontroller/mypage 之类的视图,则菜单(因未加载 site.js 而损坏)返回 403。

我尝试将新应用程序的文件夹放入主应用程序的根目录。

为每个应用程序创建一个应用程序池。

用“无管理代码”配置.net核心的applicationpoll;

我查看了文件夹权限。

我查看了子应用程序的 Web 配置(.net 核心)

加载资源失败:服务器响应状态为 403 (Forbidden) site.min.css:1 sit.min.js

403 - 禁止:访问被拒绝。您无权使用您提供的凭据查看此目录或页面。

标签: c#iisdeployment.net-core.net-4.0

解决方案


使用父 Web 配置上的“位置”配置解决了问题

只需将我的 web 配置(主应用程序)的所有配置都放在位置标签内部,如下所示:

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

// My Web config configurations.   

</location>

推荐阅读