Asp.net
使用 HttpClientFactory 是否安全?
在我的 asp.net 核心 MVC 應用程序中,我正在使用為 API 伺服器的請求
HttpClientFactory創建對象。HttpClient遵循 Microsoft 文件,
HttpClient每次呼叫時都會創建新對象HttpClientFactory.CreateClient(),因此將值設置為HttpClient.DefaultRequestHeaders.關於
HttpMessageHandler對象,因為它們是池化的,以後可以重複使用。因此,如果他們持有 cookie 資訊(例如:將 cookie 設置為HttpClientHandler對象),我們將違反執行緒安全。我的假設是否正確?我們該如何處理這個問題?
如果我們設置 cookie 是否可以
HttpRequestMessage,然後我們將發送它HttpClient?
我找到了使用 HttpClientFactory 的解決方案。我們應該禁用
CookieContainer主要HttpMessageHanlder的(它是 aHttpClientHandler):services.AddHttpClient("configured-inner-handler") .ConfigurePrimaryHttpMessageHandler(() => { return new HttpClientHandler() { UseCookies = false }; });