.Net 6 Blazor WebAssembly App API非调试及发布后失效问题
.Net 6 Blazor WebAssembly API 非调试/发布后无法运行问题
问题现象
- .Net 6 Blazor WebAssembly应用的API在调试模式下可正常调用
- 退出调试模式后,API无法工作,浏览器控制台提示:
Failed to load resource: the server responded with a status of 404 () - 将项目发布到本地IIS后,API同样无法使用
- 新建同类型空白项目可正常运行,排除开发环境本身问题
排查建议
- 检查API路由配置:确认非调试环境下的路由前缀是否正确,比如
Program.cs中MapControllers或MapBlazorHub的配置是否因环境变量产生差异 - 验证发布打包配置:发布项目时确认勾选「包含所有依赖项」,检查发布输出文件夹中是否存在API相关程序集文件
- 核对IIS站点配置:确保应用池的
.NET CLR版本设置为v6.0,启用「匿名身份验证」;同时确认站点绑定的端口、域名与前端请求API的地址一致 - 检查环境配置项:查看
appsettings.Production.json是否缺少必要配置(如数据库连接字符串、API基础地址),避免仅在appsettings.Development.json中配置关键项 - 确认CORS策略:如果API与Blazor前端存在跨域场景,检查生产环境下的CORS配置是否允许前端访问域名,避免调试时的宽松策略未同步到生产配置
- 启用日志排查:在
appsettings.Production.json中设置日志级别为Information,运行后查看日志文件,定位具体错误触发点
内容的提问来源于stack exchange,提问作者Nazrul
相关产品推荐
相关产品推荐

