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

Blazor健康检查本地正常,部署至Azure应用服务报错求助

问题

我有一个Blazor Interactive Server应用,已按如下方式配置健康检查:

builder.Services.AddHealthChecks()
    .AddDbContextCheck<TrackingDbContext>("App Database")
    .AddDbContextCheck<UserDbContext>("Identity Database");

app.MapHealthChecks("health", new HealthCheckOptions
{
    ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
}).AllowAnonymous();

在本地使用Visual Studio集成应用服务器运行时,访问https://localhost:7229/health可获取包含各项检查状态的JSON输出。
但将同一应用部署至Azure应用服务后,访问https://ohana.tradewindsstudios.us/health出现如下错误:

Error.
An error occurred while processing your request.
Request ID: 00-f4dd263c9fd8791cf7c9dda48954031a-09ba2674b6a1313b-00

请问我在哪里可以查看该错误的详细信息?以及是否需要在应用服务中进行某些设置才能使其正常工作?

解决方案

一、查看详细错误信息的途径

  • Azure应用服务日志流
    登录Azure门户进入目标应用服务,在左侧「监控」分类下打开「日志流」,可实时查看应用运行时抛出的错误细节;也可在「日志」页面用Kusto查询定位指定请求ID的日志,示例:
    AppServiceConsoleLogs | where RequestId contains "00-f4dd263c9fd8791cf7c9dda48954031a-09ba2674b6a1313b-00"
    
  • Kudu调试控制台
    打开应用服务的「高级工具」>「Kudu」,进入「调试控制台」>「网站/wwwroot」,如果应用配置了日志框架(如Serilog),可直接查看生成的日志文件获取详细错误。
  • 启用详细错误页面
    在应用服务「配置」>「常规设置」中开启「详细错误消息」,此时访问/health端点会显示具体异常信息(生产环境建议用完关闭,避免泄露敏感内容)。

二、Azure应用服务需确认的设置

  • 数据库连接与权限
    检查「配置」>「连接字符串」中是否正确配置了TrackingDbContext和UserDbContext对应的字符串;同时确认Azure SQL数据库的防火墙规则已允许Azure服务访问(在数据库的「防火墙和虚拟网络」中勾选「允许Azure服务和资源访问此服务器」)。
  • 认证排除规则
    如果应用服务启用了身份验证功能,需确保/health端点被排除在强制认证之外,避免匿名访问被拦截。
  • 运行时版本匹配
    在「配置」>「常规设置」中确认.NET运行时版本与本地开发环境一致,避免版本不兼容引发错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:32:39