【问题标题】:Web.config for .net deployment to Azure app service用于将 .net 部署到 Azure 应用服务的 Web.config
【发布时间】:2020-10-17 01:04:29
【问题描述】:

我遇到了一个问题,我试图将我的 api 部署到 azure 上的应用服务内的文件夹中。

当我直接部署到根目录时,它工作正常,但要求是将它放在 api 文件夹中。
到目前为止我做了什么: 在我添加的 configuratation->PathMappings 内的 Azure 门户上:

虚拟路径 = /api

物理路径 = 站点\wwwroot\api

我直接从门户下载了发布配置文件。导入它并将站点 url 和目标 url 更改为附加 /api。我一直在关注this 教程。

部署在 VS 中执行良好。我通过 FTP 验证了所有文件。当我尝试导航到 url 时,我收到 404 错误。根目录显示hostingstart.htm页面。

据我所知,这与 web.config 不在根目录中有关,并且服务基本上不知道如何处理此请求。

最后,我的问题是:

对于根目录将提供平面 html/css/js 文件并且 api 将位于 /api 文件夹内的设置,web.config 应该如何?

【问题讨论】:

  • 为什么要尝试从 Web 应用程序中的文件夹运行 Web 应用程序?我会质疑这个要求,我感觉有人误解了应用服务计划的工作原理。
  • @Crowcoder - 所以有一个前端应用程序使用位于根文件夹内的服务。
  • 我明白了,但为什么不保存复杂性并部署为它自己的单独应用服务?
  • 所以你建议将后端部署到root。然后创建另一个应用程序服务来运行前端(用 expo 反应原生构建)。据我了解,CORS 会成为一个问题吗?
  • 这只是我的意见。也许你的方式是完全有效的,但你不会遇到这个问题。是的,CORS 将是一个问题,但问题不大。您可以在 Azure 门户的应用服务中轻松启用 CORS。

标签: c# asp.net .net azure azure-appservice


【解决方案1】:

web 应用中有Virtual applications and directories 设置,完全满足你的需求。但是目录结构不同。

可以看my answer in another post,里面有具体的介绍和注意点。

我的回答描述了添加子应用,你也可以添加对静态资源文件的访问。

在解决您的问题时,您需要使用的服务是Front Door,需要注意需要修改.csproj文件。

【讨论】:

    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 2020-02-10
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多