ASP.NET Core WebAPI调用返回404 NotFound问题排查求助
以下是针对本地环境出现该问题的常见排查方向:
端口/监听地址不匹配
检查WebAPI启动时的实际监听地址:查看项目调试控制台输出的Now listening on地址,确认调用方使用的URL和该地址完全一致。本地端口可能因被占用自动变更,导致旧地址访问返回404。也可通过项目属性→调试→应用URL查看配置的地址。开发服务器配置差异
对比本地和同事的launchSettings.json文件,重点检查applicationUrl、iisSettings、environmentVariables等项。不同服务器(Kestrel/IIS Express)的路由解析规则、端口绑定逻辑可能存在差异,确保两者使用相同的服务器配置。编译缓存导致路由失效
清理WebAPI项目的bin和obj目录,重新生成整个解决方案。旧的编译缓存可能残留错误的路由注册信息,导致新添加的API路由无法被识别。本地网络拦截
临时关闭本地防火墙或安全软件,排除端口被拦截的可能;若使用了代理工具(如Fiddler),关闭后再测试,避免代理规则修改或拦截请求。环境配置差异
检查本地的环境变量ASPNETCORE_ENVIRONMENT是否和同事一致,不同环境可能加载不同的appsettings.{Environment}.json配置,导致路由前缀、中间件等配置变化。.NET SDK版本兼容性
通过dotnet --version命令查看本地SDK版本,若和同事的版本差异较大,可能存在框架行为差异。安装同版本的.NET SDK后重新测试。
内容的提问来源于stack exchange,提问作者JJFlash

