tuq*_*tuq 6 asp.net dotnet-httpclient .net-core asp.net-core httpclientfactory
在我的asp.net核心MVC应用程序中,我HttpClientFactory
用来创建HttpClient
对API服务器的请求的对象。
遵循Microsoft文档,HttpClient
每次调用HttpClientFactory.CreateClient()
都会创建一个新的对象,因此将值设置为会很安全HttpClient.DefaultRequestHeaders
。
关于HttpMessageHandler
对象,因为它们已被合并,以后可以重用。因此,如果它们包含cookie信息(例如:将cookie设置为HttpClientHandler
object),则将违反线程安全。
我的假设是正确的吗?我们如何处理这个问题?
如果将cookie设置为可以HttpRequestMessage
,然后发送给它,可以HttpClient
吗?
我已经找到使用HttpClientFactory的解决方案。我们应该禁用CookieContainer
primary HttpMessageHanlder
(是HttpClientHandler
):
services.AddHttpClient("configured-inner-handler")
.ConfigurePrimaryHttpMessageHandler(() =>
{
return new HttpClientHandler()
{
UseCookies = false
};
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
471 次 |
最近记录: |