6.9IHttpContentConverterFactory 内容转换器工厂
创建于 2026 年 8 月 17 日约 1 分钟读完
IHttpContentConverterFactory 内容转换器工厂负责根据目标接收类型,确定合适的 IHttpContentConverter 内容转换器,并调用其 Read 方法来将 HttpResponseMessage 对象转换为目标接收类型。该工厂服务被配置为单例模式,以确保其在应用程序生命周期中的唯一性和稳定性。
如果未找到匹配的 IHttpContentConverter 内容处理器,系统会回退到使用 IObjectContentConverterFactory 对象内容转换器工厂来进行转换,其内部通过返回 ObjectContentConverter() 实例进行转换。
以下是使用 IHttpContentConverterFactory 内容转换器工厂与 HttpClient 结合的示例,展示了如何通过其 Read 方法轻松将 HttpResponseMessage 对象转换为目标类型实例。
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); }}