7.5在 MAUI 应用中使用
创建于 2026 年 8 月 21 日约 1 分钟读完
.NET MAUI 内置了基于 Microsoft.Extensions.DependencyInjection 的依赖注入支持:在应用入口 MauiProgram.CreateMauiApp() 方法中向 builder.Services 注册服务,随后即可在页面(Page)或视图模型(ViewModel)的构造函数中注入使用。更多依赖注入细节(注册方式、服务生存期等)请参阅微软官方文档「依赖注入(.NET MAUI)」。
1. 在 MauiProgram.cs 中注册服务
在 MauiProgram.cs 文件的 CreateMauiApp() 方法中调用 AddHttpRemote() 注册 HTTP 远程请求服务:
using HttpAgent;public static class MauiProgram{ public static MauiApp CreateMauiApp() { var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); }); builder.Services.AddHttpRemote(); // 注册 HTTP 远程请求服务 return builder.Build(); }}2. 在页面中注入使用
在页面(或视图模型)的构造函数中注入 IHttpRemoteService 即可发送 HTTP 远程请求:
using HttpAgent;public partial class MainPage : ContentPage{ private readonly IHttpRemoteService _httpRemoteService; public MainPage(IHttpRemoteService httpRemoteService) { InitializeComponent(); _httpRemoteService = httpRemoteService; } private async Task LoadContentAsync() { var result = await _httpRemoteService.GetAsStringAsync("https://furion.net/"); // 渲染 result ... }}说明:在
Shell应用中,如果页面构造函数需要依赖注入,请同时把页面注册到容器(如builder.Services.AddTransient<MainPage>();),Shell导航时会自动从容器解析页面实例;也可以把IHttpRemoteService注入到已注册的视图模型中,再由页面注入该视图模型。