首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure API管理重试策略的条件不起作用

Azure API管理重试策略的条件不起作用
EN

Stack Overflow用户
提问于 2019-09-09 19:22:14
回答 1查看 1K关注 0票数 0

我不熟悉Azure API管理。我们正在从Azure api管理中调用外部web API。如果web api无法与Azure API管理进行通信,我们会在放弃之前尝试几次重试。

我们在出站节点( policy )中增加了重试策略,用于检查后端节点(policy)的响应状态。如果响应状态不是200,那么我们将尝试在10秒后再次调用web api。我们想在放弃之前再试两次。

问题是出站节点(策略)总是执行send-request节点(策略),即使我们只是写

代码语言:javascript
复制
<retry condition="@(false)" count="2" interval="10" first-fast- 
retry="false">
<send-request.....>
......
......
</send-request>
</retry>

如何在重试策略中写入条件,以便在执行子节点之前对其进行检查。

代码语言:javascript
复制
<outbound>
<base />
<retry condition="@(context.Response.StatusCode != 200)" count="2" interval="10" first-fast-retry="false">
<send-request mode="new" response-variable-name="responseVar" ignore-error="false">
<set-url>... </set-url>
<set-method>POST</set-method>
<set-body>...</set-body>
<set-header>...</set-header>
</retry>
</outbound>
EN

回答 1

Stack Overflow用户

发布于 2019-09-12 10:30:20

重试始终执行其内部策略,并且仅在第一次和后续执行后检查条件。其想法是检查内部策略的一些结果,以确定是否需要再次执行它们。要预先检查条件,必须将其包装到choose策略中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57853003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档