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

.NET 8 HealthCheckUI图标加载404问题求助

解决.NET 8中HealthCheckUI图标404的问题

1. 确认安装必要NuGet包

确保项目已安装以下包:

  • AspNetCore.HealthChecks.UI
  • AspNetCore.HealthChecks.UI.Client
  • AspNetCore.HealthChecks.UI.InMemory.Storage

可通过命令行安装:

dotnet add package AspNetCore.HealthChecks.UI
dotnet add package AspNetCore.HealthChecks.UI.Client
dotnet add package AspNetCore.HealthChecks.UI.InMemory.Storage

2. 添加静态文件中间件并配置嵌入式资源访问

在Program.cs中,所有端点映射(如MapHealthChecks、MapHealthChecksUI)之前添加静态文件中间件,同时配置HealthCheckUI的嵌入式资源提供者:

// 启用默认静态文件支持
app.UseStaticFiles();

// 配置HealthCheckUI嵌入式静态资源的访问
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new EmbeddedFileProvider(
        typeof(HealthChecksUIOptions).Assembly,
        "HealthChecks.UI")
});

3. 调整HealthCheckUI端点配置

保持健康检查API和UI端点的配置正确,完整示例如下:

// 注册HealthChecksUI服务
services.AddHealthChecksUI()
        .AddInMemoryStorage();

// 映射健康检查API端点
app.MapHealthChecks("/api/health", new HealthCheckOptions
{
    ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});

// 映射HealthCheckUI界面端点
app.MapHealthChecksUI(setup =>
{
    setup.ApiPath = "/api/health"; // 指定UI调用的健康检查API路径
    setup.UIPath = "/healthchecks-ui"; // UI访问路径,默认值可自定义
});

4. 验证效果

启动项目后,访问配置的UI路径(默认是/healthchecks-ui),图标等静态资源即可正常加载,不再返回404。

额外注意

  • Web API模板默认未启用UseStaticFiles,必须手动添加,否则无法访问任何静态资源。
  • UseStaticFiles必须在端点映射之前调用,否则静态资源请求会被端点路由拦截导致404。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:53:22