在 .NET MAUI 应用程序中创建和使用 HttpClient

Sam*_*Sam 7 xamarin xamarin.forms maui .net-maui

我们是否在 .NET MAUI 应用程序中创建/使用 an HttpClient,就像在 Web 或 API 应用程序中一样?具体来说,我将我的HttpClient' 添加到我的应用程序中Program.cs使用IHttpFactory-- 见下文:

builder.Services.AddHttpClient("NamedClient1", config =>
{
    var url = currentState == "production"
        ? "https://my-production-url"
        : "https://sandbox-url";
    config.BaseAddress = new Uri(url);
});
Run Code Online (Sandbox Code Playgroud)

我理解 .NET MAUI 的想法是标准化我们处理事物的方式。当我尝试在 .NET MAUI 应用程序中添加该行时builder.Services,IntelliSense 并不建议AddHttpClient

DM-*_*-98 5

移动开发中的 HttpClient 与 Web 略有不同。设备本身可以很好地处理 HttpClient,我们不必太担心使用 nuget 包 (Microsoft.Extensions.Http) 正确处理它。因此,您可以使用 AddSingleton 来代替,甚至可以使用 HttpClient 的静态只读。.NET MAUI 团队确保 HttpClient 类以这种方式配置。

来源自微软:

.NET MAUI 模板将 HttpClient 类映射到利用每个平台的本机网络堆栈的代码。这使得应用程序能够利用特定于平台的网络配置和优化功能