6.9IHttpContentConverterFactory 内容转换器工厂

创建于 2026 年 8 月 17 日约 1 分钟读完

IHttpContentConverterFactory 内容转换器工厂负责根据目标接收类型,确定合适的 IHttpContentConverter 内容转换器,并调用其 Read 方法来将 HttpResponseMessage 对象转换为目标接收类型。该工厂服务被配置为单例模式,以确保其在应用程序生命周期中的唯一性和稳定性。

如果未找到匹配的 IHttpContentConverter 内容处理器,系统会回退到使用 IObjectContentConverterFactory 对象内容转换器工厂来进行转换,其内部通过返回 ObjectContentConverter() 实例进行转换。

以下是使用 IHttpContentConverterFactory 内容转换器工厂与 HttpClient 结合的示例,展示了如何通过其 Read 方法轻松将 HttpResponseMessage 对象转换为目标类型实例。

cs
public class YourService(IHttpContentConverterFactory httpContentConverterFactory)  // .NET8+ 支持主构造函数注入{    public async Task<string?> GetStringAsync()    {        var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, "https://furion.net/");        using var httpClient = new HttpClient();        var httpResponseMessage = await httpClient.SendAsync(httpRequestMessage);        // 调用 Read 方法将 HttpResponseMessage 对象转换为目标类型实例        var context = new HttpContentConverterContext(httpResponseMessage);        return await httpContentConverterFactory.GetConverter<string>(context).ReadAsync(context);    }}