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

.NET Maui Aspire集成无法解析ASP.NET Core Web API地址

.NET Maui Aspire服务发现失效排查方案

以下是针对Maui应用无法解析Web API实际地址的具体排查步骤:

  • 检查AppHost服务关联配置
    确认AppHost.cs中Web API的注册名称与Maui中使用的webapi完全一致:

    var webApi = builder.AddProject<Projects.WebApi>("webapi");
    var mauiApp = builder.AddProject<Projects.MauiApp>("mauiapp").WithReference(webApi);
    

    开发隧道需正确关联到Web API服务:

    builder.AddDevTunnel("webapi-tunnel", t => t.ForProject<Projects.WebApi>());
    
  • 验证Maui项目的ServiceDefaults与HttpClient配置
    确保AddServiceDefaults()在HttpClient注册前调用,且BaseAddress格式正确:

    var builder = MauiApp.CreateBuilder();
    builder.AddServiceDefaults();
    builder.Services.AddHttpClient<IMyApiClient, MyApiClient>(client =>
    {
        client.BaseAddress = new Uri("https+http://webapi");
    });
    

    确认Maui项目已安装Aspire.Hosting.Maui和Aspire.AspNetCore.Http.Discovery NuGet包,版本与其他Aspire组件保持一致。

  • 检查运行时服务发现注入状态
    在Android项目的AndroidManifest.xml中确认添加网络权限:

    <uses-permission android:name="android.permission.INTERNET" />
    

    调试时添加日志,验证服务发现是否能获取到实际地址:

    var serviceDiscovery = builder.Services.BuildServiceProvider().GetRequiredService<IServiceDiscoveryClient>();
    var address = await serviceDiscovery.GetServiceAddressAsync("webapi");
    Console.WriteLine($"WebAPI discovered address: {address}");
    

    同时检查应用环境变量中是否存在ASPIRE_SERVICE_DISCOVERY_ENDPOINT,这是服务发现的关键配置项。

  • 确认Web API的ServiceDefaults配置
    Web API的Program.cs需启用服务发现:

    var builder = WebApplication.CreateBuilder(args);
    builder.AddServiceDefaults();
    builder.Services.AddServiceDiscovery();
    var app = builder.Build();
    app.MapControllers().RequireServiceDiscovery();
    
  • 排查网络与隧道问题
    确认Aspire仪表盘显示Web API的开发隧道处于"Running"状态;Android模拟器需能访问Aspire仪表盘地址(通常为http://localhost:18888),验证网络连通性;可临时改用http://webapi作为BaseAddress,排除HTTPS证书解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 00:33:12