6.9IHttpContentConverterFactory Content Converter Factory

Created on Aug 17, 2026~3 min read

The IHttpContentConverterFactory content converter factory is responsible for determining the appropriate IHttpContentConverter content converter based on the target receiving type, and calling its Read method to convert the HttpResponseMessage object into the target receiving type. This factory service is configured as a singleton to ensure its uniqueness and stability throughout the application's lifecycle.

If no matching IHttpContentConverter content converter is found, the system falls back to using the IObjectContentConverterFactory object content converter factory for the conversion, which internally returns an ObjectContentConverter() instance to perform the conversion.

The following example shows how to use the IHttpContentConverterFactory content converter factory together with HttpClient, demonstrating how its Read method can easily convert an HttpResponseMessage object into a target type instance.

cs
public class YourService(IHttpContentConverterFactory httpContentConverterFactory)  // .NET8+ supports primary constructor injection{    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);        // Call the Read method to convert the HttpResponseMessage object into a target type instance        var context = new HttpContentConverterContext(httpResponseMessage);        return await httpContentConverterFactory.GetConverter<string>(context).ReadAsync(context);    }}