解 HttpClient 憑證問題
使用 HttpClient 存取需要驗證的 Windows 服務時,憑證可能無法正確傳遞。這種情況經常發生在 ASP.NET MVC Web API 和 IIS 模擬中。
HttpClient 和 WebClient 處理憑證方式的差異是關鍵。 HttpClient 的 UseDefaultCredentials
屬性旨在處理憑證檢索,但它可能不可靠。
為了確保憑證傳輸,請在 UseDefaultCredentials
:true
中明確將 HttpClientHandler
設定為
<code class="language-csharp">var httpClient = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true });</code>
這告訴 HttpClient 使用作業系統的預設憑證。這反映了 WebClient 的行為,確保發起 Web 應用程式請求的使用者得到 Windows 服務的正確驗證。
以上是為什麼我的 HttpClient 不將憑證傳遞給我的 Windows 服務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!