查看日志,它们非常具有描述性!我加粗了标题。
Retry-After 返回值 0,预计毫秒数。我目前正在使用指数回退,在这种情况下这远非理想。文档和最佳实践指示回退到 exp。没有返回 Retry-After 标头时的退避,但确实如此。在 5 次重试后(我的重试策略),我抛出异常,这表明 Microsoft Graph 实际上希望我等待 3 分钟。谁能确认这是一个错误,还是我做错了什么?
日志:
[信息] [重试] 日期:2021 年 10 月 28 日星期四 11:55:37 GMTCache-Control: no-cacheTransfer-Encoding: chunkedRetry-After: 0Strict-Transport-Security: max-age=31536000request-id: 19c11610-2b14- 4c82-abdd-ce9582eb1fe7client-request-id: 19c11610-2b14-4c82-abdd-ce9582eb1fe7x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"E"," Ring":"5","ScaleUnit":"004","RoleInstance":"AM2PEPF000050C2"}} 2021-10-28T11:55:38.492 [Information] [RETRY] StatusCode: 429, ReasonPhrase: 'Too Many Requests' ,版本:1.1,内容:System.Net.Http.HttpConnectionResponseContent,标头:{日期:2021 年 10 月 28 日星期四 11:55:37 GMTCache-Control:no-cacheTransfer-Encoding:chunked Retry-After:0严格传输安全:max-age=31536000request-id:19c11610-2b14-4c82-abdd-ce9582eb1fe7client-request-id:19c11610-2b14-4c82-abdd-ce9582eb1fe7x-ms-ags-diagnostic:{“ServerInfo”:{ "DataCenter":"West Europe","Slice":"E","Ring":"5","ScaleUnit":"004","RoleInstance":"AM2PEPF000050C2"}}Content-Type: application/json}
[信息] [RETRY] Retry-After 在重试策略中提供。
[信息] 0
[信息] [RETRY] 使用 Retry-After 标头进行延迟:00:00:00
[警告] [RETRY] 延迟0ms,然后重试5。
[错误] [2219ab8a36038d2e] [3DDEDC39FE1ABC9D6C328F98503B08FB3FBEB35A223A91D424] 响应状态码不表示成功:429(请求过多)。
[警告] 429:请求过多。延迟后重试。
2021-10-28T11:55:38.524 [错误] 操作:更新;例外:[状态代码:429;原因:资源“OData_GetSubscription__UserMailbox_0003bffd-18fb-b0eb-0000-000000000000_00000000-0000-0000-0000-000000000000”已达到“250”的限制。请在“2021 年 10 月 28 日上午 11:58:13”之后重试]