用途:为在 .NET MAUI 应用中正确调用 REST API 提供指导,重点是常见错误与最佳实践。
主要能力:
- HttpClient 用法。通过依赖注入注册为单例(AddSingleton)或使用 IHttpClientFactory,避免每次请求新建实例导致套接字耗尽;在注册时设置 BaseAddress,服务方法内使用相对 URI。
- 异步调用。始终使用 async/await,避免 .Result 或 .Wait() 在 UI 线程造成死锁。
- 反序列化。使用 System.Text.Json,配合 JsonSerializerOptions 设置 CamelCase 命名策略与大小写不敏感;先检查响应状态再反序列化,例如先调用 EnsureSuccessStatusCode()。
- 错误处理。建议捕获 HttpRequestException(网络或 HTTP 错误)与 JsonException(响应格式异常);认证端点等失败属意外情况可用 EnsureSuccessStatusCode,需要按状态码分支则检查 IsSuccessStatusCode。
- 架构模式。采用服务接口与实现分离,使 ViewModel 依赖抽象。
平台注意事项:
- Android 模拟器需用 10.0.2.2 访问宿主机 localhost,并配置 network_security_config.xml,设置 cleartextTrafficPermitted="true"。
- iOS/Mac Catalyst 需在 Info.plist 中配置 NSAllowsLocalNetworking;iOS 模拟器可直接使用 localhost。
- 模拟器/仿真器默认阻止明文 HTTP,本地开发需按上述方式开启例外。
限制:资料未提供安装命令、许可、版本要求、收费、性能数据或完整示例代码等信息。