【发布时间】:2018-08-01 21:43:50
【问题描述】:
有没有办法将处理程序添加到 ASP.NET Core 中的默认 HTTP 客户端? 像这样?
.AddHttpClient()
.AddHttpMessageHandler<Handler1>()
.AddHttpMessageHandler<Handler2>();
【问题讨论】:
-
您可以在
IServiceCollection上添加一个名为AddHttpClient的扩展方法,它可能需要一个DelegatingHandler,然后是services.AddSingleton(ctx => new System.Net.Http.HttpClient(handler));。问题是您只能在HttpClient构造函数中添加处理程序。 -
确实,请记住,对于许多应用程序 (docs.microsoft.com/en-us/aspnet/core/fundamentals/…),不推荐使用单例而不是 IHttpClientFactory。但与往常一样,这取决于您的用例和代码库。
标签: c# asp.net-core asp.net-core-2.0 dotnet-httpclient