You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

默认ASP.NET Core Web API项目控制器路由404问题求助

ASP.NET Core Web API 404问题排查方案

Swagger能正常访问说明服务本身运行正常,404错误大概率是URL路径错误或部署/调试配置细节遗漏,结合你提供的默认项目代码,给你几个明确的排查方向:

一、调试阶段的URL正确性检查

  • 确认服务实际启动端口:启动项目后查看控制台输出的监听地址(如Now listening on: https://localhost:5001),API的正确路径应为{监听地址}/WeatherForecast(控制器[Route("[controller]")]会自动去掉Controller后缀,所以路径是WeatherForecast而非WeatherForecastController)。
  • 规范.http文件语法:正确的调试示例如下,确保协议、端口、路径与服务启动信息完全匹配:
    GET https://localhost:5001/WeatherForecast
    Content-Type: application/json
    

二、IIS部署的关键配置修正

  • 应用程序池设置:新建的应用程序池必须将**.NET CLR版本设为“无托管代码”**,ASP.NET Core为自托管框架,无需IIS托管环境。
  • 物理路径指向:将IIS站点的物理路径设置为项目发布后的wwwroot文件夹,而非源码文件夹。
  • 安装ASP.NET Core模块(ANCM):服务器未安装该模块时,IIS无法将请求转发至ASP.NET Core进程,需通过服务器“添加角色和功能”或对应版本的ASP.NET Core运行时安装包完成部署。

三、其他细节排查

  • 检查launchSettings.json:项目根目录Properties/launchSettings.json中的applicationUrl需配置正确端口,避免端口冲突导致服务自动切换端口未被察觉。
  • 避免协议混用:不要同时混用HTTP和HTTPS,比如服务启动在HTTPS端口,却用HTTP地址访问。

补充:可直接在Swagger页面点击「Try it out」测试API,若Swagger内可正常返回结果,说明API逻辑无问题,仅外部访问的URL或配置存在疏漏。

内容的提问来源于stack exchange,提问作者MrFox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 19:37:09