Microsoft.Extensions.Http 9.0.3

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Microsoft.Extensions.Http --version 9.0.3
                    
NuGet\Install-Package Microsoft.Extensions.Http -Version 9.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.Extensions.Http" Version="9.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Microsoft.Extensions.Http" Version="9.0.3" />
                    
Directory.Packages.props
<PackageReference Include="Microsoft.Extensions.Http" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Microsoft.Extensions.Http --version 9.0.3
                    
#r "nuget: Microsoft.Extensions.Http, 9.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Microsoft.Extensions.Http&version=9.0.3
                    
Install Microsoft.Extensions.Http as a Cake Addin
#tool nuget:?package=Microsoft.Extensions.Http&version=9.0.3
                    
Install Microsoft.Extensions.Http as a Cake Tool

About

Microsoft.Extensions.Http package provides AddHttpClient extension methods for IServiceCollection, IHttpClientFactory interface and its default implementation. This provides the ability to set up named HttpClient configurations in a DI container and later retrieve them via an injected IHttpClientFactory instance.

Key Features

  • The package allows to fluently set up multiple HttpClient configurations for applications that use DI via AddHttpClient extension method.
  • HttpClientFactory caches HttpMessageHandler instances per configuration name, which allows to reuse resources between HttpClient instances to avoid port exhaustion.
  • HttpClientFactory manages lifetime of HttpMessageHandler instances and recycles connections to track DNS changes.

How to Use

Note that lifetime management of HttpClient instances created by HttpClientFactory is completely different from instances created manually. The strategies are to use either short-lived clients created by HttpClientFactory or long-lived clients with PooledConnectionLifetime set up. For more information, see the HttpClient lifetime management section in the conceptual docs and Guidelines for using HTTP clients.

Configuring HttpClient

builder.Services.AddHttpClient("foo"); // adding an HttpClient named "foo" with a default configuration

builder.Services.AddHttpClient("example", c => c.BaseAddress = new Uri("https://www.example.com")) // configuring HttpClient itself
    .AddHttpMessageHandler<MyAuthHandler>() // adding additional delegating handlers to form a message handler chain
    .ConfigurePrimaryHttpMessageHandler(b => new HttpClientHandler() { AllowAutoRedirect = false }) // configuring primary handler
    .SetHandlerLifetime(TimeSpan.FromMinutes(30)); // changing the handler recycling interval

Using the configured HttpClient

public class MyService
{
    public MyService(IHttpClientFactory httpClientFactory)
    {
        _httpClientFactory = httpClientFactory; // injecting the factory
    }

    private Task<string> GetExampleAsync(Uri uri, CancellationToken ct)
    {
        HttpClient exampleClient = _httpClientFactory.CreateClient("example"); // creating the client for the specified name
        return exampleClient.GetStringAsync(uri, ct); // using the client
    }
}

Main Types

The main types provided by this library are:

  • IHttpClientFactory
  • IHttpMessageHandlerFactory
  • HttpClientFactoryServiceCollectionExtensions

Additional Documentation

Feedback & Contributing

Microsoft.Extensions.Http is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4.8K)

Showing the top 5 NuGet packages that depend on Microsoft.Extensions.Http:

Package Downloads
Microsoft.Extensions.Http.Polly

The HttpClient factory is a pattern for configuring and retrieving named HttpClients in a composable way. This package integrates IHttpClientFactory with the Polly library, to add transient-fault-handling and resiliency through fluent policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback. This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/de35e2b0a0d8d5d1e307907983a6838da1092898

prometheus-net

.NET client library for the Prometheus monitoring and alerting system

Grpc.Net.ClientFactory

HttpClientFactory integration the for gRPC .NET client

Microsoft.Identity.Web

This package enables ASP.NET Core web apps and web APIs to use the Microsoft identity platform (formerly Azure AD v2.0). This package is specifically used for web applications, which sign-in users, and protected web APIs, which optionally call downstream web APIs.

Refit.HttpClientFactory

Refit HTTP Client Factory Extensions

GitHub repositories (415)

Showing the top 20 popular GitHub repositories that depend on Microsoft.Extensions.Http:

Repository Stars
jellyfin/jellyfin
The Free Software Media System - Server Backend & API
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
rocksdanister/lively
Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3.
abpframework/abp
Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.
dotnet/AspNetCore.Docs
Documentation for ASP.NET Core
duplicati/duplicati
Store securely encrypted backups in the cloud!
dotnet/orleans
Cloud Native application framework for .NET
reactiveui/refit
The automatic type-safe REST library for .NET Core, Xamarin and .NET. Heavily inspired by Square's Retrofit library, Refit turns your REST API into a live interface.
JeffreySu/WeiXinMPSDK
微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
dotnet/eShop
A reference .NET application implementing an eCommerce site
RayWangQvQ/BiliBiliToolPro
B 站(bilibili)自动任务工具,支持docker、青龙、k8s等多种部署方式。敏感肌也能用。
elsa-workflows/elsa-core
A .NET workflows library
quartznet/quartznet
Quartz Enterprise Scheduler .NET
ant-design-blazor/ant-design-blazor
🌈A rich set of enterprise-class UI components based on Ant Design and Blazor.
Azure/azure-sdk-for-net
This repository is for active development of the Azure SDK for .NET. For consumers of the SDK we recommend visiting our public developer docs at https://learn.microsoft.com/dotnet/azure/ or our versioned developer docs at https://azure.github.io/azure-sdk-for-net.
fullstackhero/dotnet-starter-kit
Production Grade Cloud-Ready .NET 9 Starter Kit (Web API + Blazor Client) with Multitenancy Support, and Clean/Modular Architecture that saves roughly 200+ Development Hours! All Batteries Included.
ServiceStack/ServiceStack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
ChilliCream/graphql-platform
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Nitro the awesome Monaco based GraphQL IDE.
akkadotnet/akka.net
Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
umbraco/Umbraco-CMS
Umbraco is a free and open source .NET content management system helping you deliver delightful digital experiences.
Version Downloads Last updated
10.0.0-preview.3.25171.5 586 4/10/2025
10.0.0-preview.2.25163.2 4,578 3/18/2025
10.0.0-preview.1.25080.5 7,000 2/25/2025
9.0.4 130,619 4/8/2025
9.0.3 1,904,019 3/11/2025
9.0.2 3,519,128 2/11/2025
9.0.1 3,539,264 1/14/2025
9.0.0 9,897,364 11/12/2024
9.0.0-rc.2.24473.5 189,692 10/8/2024
9.0.0-rc.1.24431.7 107,316 9/10/2024
9.0.0-preview.7.24405.7 32,307 8/13/2024
9.0.0-preview.6.24327.7 32,435 7/9/2024
9.0.0-preview.5.24306.7 56,636 6/11/2024
9.0.0-preview.4.24266.19 29,612 5/21/2024
9.0.0-preview.3.24172.9 41,759 4/11/2024
9.0.0-preview.2.24128.5 39,818 3/12/2024
9.0.0-preview.1.24080.9 20,851 2/13/2024
8.0.1 31,285,988 10/8/2024
8.0.0 125,288,803 11/14/2023
8.0.0-rc.2.23479.6 351,967 10/10/2023
8.0.0-rc.1.23419.4 190,011 9/12/2023
8.0.0-preview.7.23375.6 194,815 8/8/2023
8.0.0-preview.6.23329.7 165,216 7/11/2023
8.0.0-preview.5.23280.8 36,450 6/13/2023
8.0.0-preview.4.23259.5 327,626 5/16/2023
8.0.0-preview.3.23174.8 50,958 4/11/2023
8.0.0-preview.2.23128.3 39,841 3/14/2023
8.0.0-preview.1.23110.8 29,467 2/21/2023
7.0.0 109,572,294 11/7/2022
7.0.0-rc.2.22472.3 104,908 10/11/2022
7.0.0-rc.1.22426.10 68,744 9/14/2022
7.0.0-preview.7.22375.6 76,599 8/9/2022
7.0.0-preview.6.22324.4 99,148 7/12/2022
7.0.0-preview.5.22301.12 23,954 6/14/2022
7.0.0-preview.4.22229.4 117,665 5/10/2022
7.0.0-preview.3.22175.4 35,869 4/13/2022
7.0.0-preview.2.22152.2 99,800 3/14/2022
7.0.0-preview.1.22076.8 20,066 2/17/2022
6.0.1 479,610 11/12/2024
6.0.0 283,928,800 11/8/2021
6.0.0-rc.2.21480.5 775,888 10/12/2021
6.0.0-rc.1.21451.13 49,962 9/14/2021
6.0.0-preview.7.21377.19 159,801 8/10/2021
6.0.0-preview.6.21352.12 48,468 7/14/2021
6.0.0-preview.5.21301.5 19,997 6/15/2021
6.0.0-preview.4.21253.7 17,801 5/24/2021
6.0.0-preview.3.21201.4 24,231 4/8/2021
6.0.0-preview.2.21154.6 21,158 3/11/2021 6.0.0-preview.2.21154.6 is deprecated because it is no longer maintained.
6.0.0-preview.1.21102.12 49,749 2/12/2021 6.0.0-preview.1.21102.12 is deprecated because it is no longer maintained.
5.0.0 96,572,300 11/9/2020 5.0.0 is deprecated because it is no longer maintained.
5.0.0-rc.2.20475.5 62,430 10/13/2020 5.0.0-rc.2.20475.5 is deprecated because it is no longer maintained.
5.0.0-rc.1.20451.14 36,422 9/14/2020 5.0.0-rc.1.20451.14 is deprecated because it is no longer maintained.
5.0.0-preview.8.20407.11 9,324 8/25/2020 5.0.0-preview.8.20407.11 is deprecated because it is no longer maintained.
5.0.0-preview.7.20364.11 24,404 7/21/2020 5.0.0-preview.7.20364.11 is deprecated because it is no longer maintained.
5.0.0-preview.6.20305.6 28,467 6/25/2020 5.0.0-preview.6.20305.6 is deprecated because it is no longer maintained.
5.0.0-preview.5.20278.1 13,985 6/10/2020 5.0.0-preview.5.20278.1 is deprecated because it is no longer maintained.
5.0.0-preview.4.20251.6 167,340 5/18/2020 5.0.0-preview.4.20251.6 is deprecated because it is no longer maintained.
5.0.0-preview.3.20215.2 37,844 4/23/2020 5.0.0-preview.3.20215.2 is deprecated because it is no longer maintained.
5.0.0-preview.2.20160.3 48,860 4/2/2020 5.0.0-preview.2.20160.3 is deprecated because it is no longer maintained.
5.0.0-preview.1.20120.4 34,581 3/16/2020 5.0.0-preview.1.20120.4 is deprecated because it is no longer maintained.
3.1.32 4,237,851 12/13/2022
3.1.31 473,496 11/8/2022
3.1.30 263,315 10/11/2022
3.1.29 311,564 9/13/2022
3.1.28 951,827 8/9/2022
3.1.27 470,728 7/12/2022
3.1.26 449,237 6/14/2022
3.1.25 753,242 5/10/2022
3.1.24 742,181 4/11/2022
3.1.23 836,495 3/8/2022
3.1.22 5,128,256 12/14/2021
3.1.21 2,538,773 11/7/2021
3.1.20 1,315,276 10/11/2021
3.1.19 1,533,431 9/14/2021
3.1.18 3,933,369 8/10/2021
3.1.17 2,470,294 7/13/2021
3.1.16 6,323,545 6/8/2021
3.1.15 2,436,854 5/11/2021
3.1.14 3,064,053 4/6/2021
3.1.13 4,642,369 3/9/2021
3.1.12 3,901,421 2/9/2021
3.1.11 3,672,433 1/12/2021
3.1.10 5,980,147 11/9/2020
3.1.9 49,612,227 10/13/2020
3.1.8 17,574,603 9/8/2020
3.1.7 16,006,638 8/11/2020
3.1.6 9,248,666 7/14/2020
3.1.5 10,400,405 6/9/2020
3.1.4 15,261,245 5/12/2020
3.1.3 72,411,493 3/24/2020
3.1.2 9,401,053 2/18/2020
3.1.1 8,875,971 1/14/2020
3.1.0 63,435,383 12/3/2019
3.1.0-preview3.19553.2 19,266 11/13/2019 3.1.0-preview3.19553.2 is deprecated because it is no longer maintained.
3.1.0-preview2.19525.4 3,379 11/1/2019 3.1.0-preview2.19525.4 is deprecated because it is no longer maintained.
3.1.0-preview1.19506.1 7,219 10/15/2019 3.1.0-preview1.19506.1 is deprecated because it is no longer maintained.
3.0.3 80,966,525 2/18/2020 3.0.3 is deprecated because it is no longer maintained.
3.0.2 135,482 1/14/2020 3.0.2 is deprecated because it is no longer maintained.
3.0.1 1,528,449 11/18/2019 3.0.1 is deprecated because it is no longer maintained.
3.0.0 15,550,678 9/23/2019 3.0.0 is deprecated because it is no longer maintained.
3.0.0-rc1.19456.10 19,315 9/16/2019 3.0.0-rc1.19456.10 is deprecated because it is no longer maintained.
3.0.0-preview9.19423.4 16,453 9/4/2019 3.0.0-preview9.19423.4 is deprecated because it is no longer maintained.
3.0.0-preview8.19405.4 22,042 8/13/2019 3.0.0-preview8.19405.4 is deprecated because it is no longer maintained.
3.0.0-preview7.19362.4 11,007 7/23/2019 3.0.0-preview7.19362.4 is deprecated because it is no longer maintained.
3.0.0-preview6.19304.6 25,032 6/12/2019 3.0.0-preview6.19304.6 is deprecated because it is no longer maintained.
3.0.0-preview5.19227.9 17,837 5/6/2019 3.0.0-preview5.19227.9 is deprecated because it is no longer maintained.
3.0.0-preview4.19216.2 3,635 4/18/2019 3.0.0-preview4.19216.2 is deprecated because it is no longer maintained.
3.0.0-preview3.19153.1 5,594 3/6/2019 3.0.0-preview3.19153.1 is deprecated because it is no longer maintained.
3.0.0-preview.19074.2 4,587 1/29/2019 3.0.0-preview.19074.2 is deprecated because it is no longer maintained.
3.0.0-preview.18572.1 6,575 12/4/2018 3.0.0-preview.18572.1 is deprecated because it is no longer maintained.
2.2.0 63,106,893 12/3/2018 2.2.0 is deprecated because it is no longer maintained.
2.2.0-preview3-35497 76,786 10/17/2018 2.2.0-preview3-35497 is deprecated because it is no longer maintained.
2.2.0-preview2-35157 20,911 9/12/2018 2.2.0-preview2-35157 is deprecated because it is no longer maintained.
2.2.0-preview1-35029 12,051 8/22/2018 2.2.0-preview1-35029 is deprecated because it is no longer maintained.
2.1.1 54,402,082 6/18/2018
2.1.0 66,880,695 5/29/2018
2.1.0-rc1-final 100,946 5/6/2018 2.1.0-rc1-final is deprecated because it is no longer maintained.
2.1.0-preview2-final 25,099 4/10/2018 2.1.0-preview2-final is deprecated because it is no longer maintained.
2.1.0-preview1-final 34,912 2/26/2018 2.1.0-preview1-final is deprecated because it is no longer maintained.