這是有效的行爲,HTTP(tcp)請求可能會丟失,而不通知偵聽器。在這裏看到的是,討論: C# httpClient (block for async call) deadlockC#HttpClient Post選擇正確的超時
問題 我們正在使用HttpClient.PostAsJsonAsync上傳JSON文件到服務器。但是,在最壞的情況下,這種上傳可能需要幾個小時。 這就是爲什麼只使用HttpClient.Timeout不適合我們的原因。這是一個艱難的超時時間,我們需要讓它變得巨大。
那麼當tcp連接結束並且客戶端沒有檢測到時我們該怎麼做。由於我們巨大的超時時間,我們長期堅持下去。那麼在這種情況下是否還有其他的Timeout?任何其他想法或最佳實踐? 我也在尋找tcp套接字保持活着,但這似乎並不是一個選項。