跳轉到主要內容

HCHttpCallRequestGetRetryDelay

取得 HTTP 重試延遲 (以秒為單位)。預設和最小延遲為 2 秒。

語法

參數

call   _In_opt_
類型:HCCallHandle
HTTP 呼叫的控制代碼。傳遞 nullptr 可取得未來呼叫的預設值。 retryDelayInSeconds   _In_
類型:uint32_t*
重試延遲 (以秒為單位)。

傳回值

類型:HRESULT 此 API 作業的結果代碼。可能的值為 S_OK、E_INVALIDARG 或 E_FAIL。

備註

重試會使用指數輪詢延遲。根據預設,會先延遲 2 秒,下一次重試延遲 4 秒,然後是 8 秒,依此類推,最長為 1 分鐘,直到呼叫成功或達到 HTTP 逾時時間範圍為止,此時呼叫將會失敗。延遲時間也會在目前與下一個延遲之間加入隨機變動,以分散服務負載。HTTP 逾時時間範圍的預設值為 20 秒,可使用 HCSettingsSetTimeoutWindow() 變更

如果服務傳回含有 “Retry-After” 標頭的 HTTP 錯誤,則在達到 “Retry-After” 時間之前,對該 API 的所有後續呼叫都會立即以原始錯誤失敗,而不會連絡服務。

發生網路錯誤或伺服器回應
下列其中一個 HTTP 狀態碼時,會重試等冪服務呼叫:
408 (要求逾時)
429 (要求過多)
500 (內部伺服器錯誤)
502 (錯誤的閘道)
503 (服務無法使用)
504 (閘道逾時)

需求

標頭: httpProvider.h 程式庫: libHttpClient.GDK.lib

另請參閱

httpProvider
最後修改於 2026年10月6日