HCHttpCallRequestGetRetryDelay

获取 HTTP 重试延迟(秒)。 默认和最小延迟为 2 秒。

语法

HRESULT HCHttpCallRequestGetRetryDelay(  
         HCCallHandle call,  
         uint32_t* retryDelayInSeconds  
)  

参数

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() 对其进行更改

如果服务返回的 HTTP 错误具有“Retry-After”标头,则以后所有对该 API 的调用都将立即失败并返回“无法联系服务”的原始错误,直到达到“Retry-After”时间为止。

当发生网络错误或服务器使用以下 HTTP 状态代码之一响应时,
重试 Idempotent 服务调用:
408(请求超时)
429(请求太多)
500(内部服务器错误)
502(错误的网关)
503(服务不可用)
504(网关超时)

要求

头文件:httpProvider.h

库: libHttpClient.GDK.lib

另请参阅

httpProvider