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

.NET 9 Aspire服务发现失效问题求助

解决Aspire隐式服务发现导致的404问题

你的问题出在硬编码了Aspire内部用于服务发现的特殊URL格式,未使用Aspire提供的HttpClient扩展自动解析服务地址。以下是具体修复方案:

1. 安装必要NuGet包

在wfd_AlgoliaDemo前端项目中,安装Aspire.Microsoft.Http.Client包——这是Aspire实现服务发现HttpClient的核心依赖。

2. 修改HttpClient注册代码

替换硬编码BaseAddress的代码,改用Aspire服务发现扩展:

builder.Services.AddSingleton<AlgoliaService>();
builder.Services.AddHttpClient<AlgoliaService>()
    .AddServiceDiscovery();

3. 移除硬编码的特殊URL

无需手动设置https+http://api作为BaseAddress,Aspire会通过隐式引用的服务名称("api")自动发现并解析正确的端点地址。

关键说明

https+http://api是Aspire内部标记「需通过服务发现解析地址」的特殊格式,本身并非可直接访问的URL。必须通过AddServiceDiscovery()扩展处理该标记,才能转换为实际可用的服务端点地址。

若需明确指定服务名称(多服务引用场景),也可显式配置:

builder.Services.AddHttpClient<AlgoliaService>(options =>
{
    options.BaseAddress = new Uri("http://api");
})
.AddServiceDiscovery();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:22:37