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

.NET5 React应用发布后向API控制器注入DbContext返回index.html问题

问题原因及排查方案

接口返回HTML而非正常响应的原因

生产环境你配置了全局异常跳转规则:

else
{
    app.UseExceptionHandler("/Error");
}

/Error是前端React的路由地址,服务端触发异常后会自动跳转到该地址,返回前端的index.html文件,所以接口请求最终拿到的是HTML内容。

仅生产环境触发MediatR构造Handler失败的原因

这个报错是依赖链底层故障引发的上层误导性提示,并非你没有正确注册MediatR的Handler:

  • MediatR的IRequestHandler实现类依赖DataContext,而DataContext初始化时需要先建立数据库连接
  • 本地环境数据库连接正常,整个依赖注入链路可以正常完成,因此接口运行无异常
  • 生产环境Google Cloud SQL连接超时,导致DataContext注入失败,进而引发Handler构造失败,MediatR就抛出了Handler未注册的错误提示

Google Cloud SQL连接超时排查要点

  • 确认生产环境读取的连接字符串配置正确,没有硬编码本地数据库的地址、账号、密码等信息
  • 检查Google Cloud SQL实例的公网访问配置,将生产服务器的出口IP添加到Cloud SQL的授权访问IP白名单中
  • 检查生产服务器的出站防火墙规则,确认放开了3306端口的访问权限
  • 如果采用VPC内网连接方式,确认生产服务器和Cloud SQL实例在同一可用区的同一个VPC网络下,内网地址配置无误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:45:01