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设置为HttpClientHandlerobject),则将违反线程安全。
我的假设是正确的吗?我们如何处理这个问题?
如果将cookie设置为可以HttpRequestMessage,然后发送给它,可以HttpClient吗?
我已经找到使用HttpClientFactory的解决方案。我们应该禁用CookieContainerprimary HttpMessageHanlder(是HttpClientHandler):
services.AddHttpClient("configured-inner-handler")
.ConfigurePrimaryHttpMessageHandler(() =>
{
return new HttpClientHandler()
{
UseCookies = false
};
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
471 次 |
| 最近记录: |