最近部落格園被**了, 趕緊水一文支援一下部落格園,加油!
當<code>HttpClient</code>被使用過之後, 在修改它們的屬性會抛出錯誤<code>This instance has already started one or more requests. Properties can only be modified before sending the first request</code>.
單例 <code>HttpClient</code> 對象, 我們要修改它的 <code>Timeout</code>
Scope生命周期的 <code>HttpClient</code>, 我們要修改它的 <code>Timeout</code>
可以把 <code>HttpClient</code> 的生命周期改成 <code>Transient</code>, 并且每次要用的時候都從 <code>IServiceProvider</code> 擷取.
在注冊 <code>HttpClient</code> 的時候把它的 <code>Timeout</code> 修改為 <code>System.Threading.Timeout.InfiniteTimeSpan</code>
然後調用的地方使用自己的<code>CancellationToken</code>來實作即可, 其實<code>HttpClient.Timeout</code>在内部也是一樣的方式.