Net 8 Web API 404,特别是当它是子目录中的应用程序时

问题描述 投票:0回答:1

我提前为这个问题道歉,因为我知道这个问题已经被问过一百万种变体,但在把它们全部看完后我被难住了。

我有一个 Net 8 Web API 项目。我正在使用发布文件夹方法将其简单地部署到我的 IIS 服务器。应用程序本身在本地完美运行并且它作为具有自己的端口绑定的自己的站点完美运行。然而,当我:

  1. 将该文件夹部署为子目录
  2. 将其转换为应用程序
  3. 将其放在自己的池中,没有托管代码
  4. 启用匿名身份验证

它是 404,无论我如何在代码中定义路由或调整应用程序池、回收池、重新启动站点等等。 AspNetCoreV2 处理程序一切正常并已得到解释。 Web.config 与文件夹发布的生成方式完全没有影响。

api asp.net-core iis web-applications
1个回答
0
投票

导致此错误的原因有很多,您可以检查应用程序池配置:

  • 确保子应用程序的应用程序池设置为 “没有托管代码。”这对于 ASP.NET Core 应用程序是正确的 由于请求处理是由 .NET Core 运行时处理的,而不是 .NET 框架。

  • 确认应用程序池正在使用适当的身份, 通常是 ApplicationPoolIdentity,除非需要特定权限 不同的身份。

如果问题仍然没有解决,请尝试使用失败请求跟踪来查看有关 404 错误的详细信息,这将生成详细的日志文件,这将帮助您识别问题。

© www.soinside.com 2019 - 2024. All rights reserved.