问题标签 [polly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1548 浏览

circuit-breaker - Polly 断路器没有被调用

我第一次尝试实施断路器,但它不起作用。后备政策有效,但我似乎无法达到断路器。我已经在不同的版本中尝试过这个,包括断路器的重试策略,但这似乎并不重要。我确定这是我错过的基本内容。

这是用于测试目的的代码的简化版本:

0 投票
1 回答
147 浏览

c# - 从字符串 C# 中检索对象

我有下面的映射器 json 文件,它告诉我给定的异常,我想使用哪个错误处理策略。

然后使用下面的代码,我试图获取异常类型并应用可以调用操作的策略。但是在这里我被卡住了,如何从字符串名称中获取异常类型。

0 投票
1 回答
859 浏览

polly - Polly 是否支持 net 4.6.1?

Polly 是否支持 .net 4.6.1?我可以在我自己的 4.6.1 c# 项目中安全地使用它吗?

根据现在的文档,它支持 4.5。但是我想在我自己的 4.6.1 运行时使用它,可以吗?

0 投票
1 回答
1722 浏览

javascript - .net Polly 库是否有任何 JavaScript (Angular) 等效项

我最近发现了 .net 库Polly。从 GitHub 页面..

Polly 是一个 .NET 弹性和瞬态故障处理库,允许开发人员表达重试、断路器、超时、隔板隔离和回退等策略。

它看起来非常强大且非常易于使用,但是我对我的 Angular 应用程序(Polly 仅适用于 .net)也有同样的追求。也许我应该看看 Polly 团队是否可以考虑 JS 端口。

我知道 Rxjs 有重试、超时等(我目前正在使用),但想知道是否有一些包可能类似于使用 Polly 策略的方式包装它,并且还包括缓存等功能?

我已经进行了相当多的搜索,但还没有找到任何东西。

提前致谢!

0 投票
1 回答
2954 浏览

c# - 如何为多个 WCF 客户端创建 Polly 的策略

我需要集成一个第 3 方服务。它有 3 个端点用于 3 个呼叫。就是这样,每个 API 调用都有自己的端点和自己的 wsdl。因此,不同调用的 POCO 之间没有任何联系(如继承)。但是这些调用的结果非常相似。特别是每个结果都有 'Errors' 属性,其中包含管道分隔字符串中的错误。一些错误在调用之间共享(具有相同的名称)并且必须以类似的方式处理。

我的目标是在引发异常或错误中出现名为“EXCEPTION”的错误时重试调用。我正在尝试使用 Polly 来实现这个目标。我现在看到的唯一方法是为每个调用创建单独的策略。有没有办法为所有呼叫创建一个单一的策略?

示例代码如下(在实际项目中 *Result 类和 *Service 接口由 VisualStudio 在导入 wsdl 时自动生成):

0 投票
1 回答
810 浏览

c# - Polly retry inside 循环的问题

我正在使用 Polly 重试策略在抛出异常时重试。这里我试图在循环中使用该重试策略。因此,在执行 foreach 循环时,如果它抛出任何异常,则 Polly 重试。这部分工作正常。但我想继续重试后循环内的下一次迭代。但在2次重试后抛出最终异常并返回调用方法。

在第一次迭代中,它给出了错误,在 2 次重试后,我想返回循环并继续每个循环内部的其他项目。有什么方法可以用 Polly 实现这一点。请建议。

0 投票
1 回答
993 浏览

.net - Polly 异常没有被捕获

有人可以解释为什么下面的代码在第一次尝试时失败并抛出未处理的异常吗?非常感激。

例子

0 投票
1 回答
2156 浏览

c# - 使用 Polly 运行具有超时的异步任务

我有一个简单的任务,我想在后台运行。该任务应该只是尝试移动文件。此任务可能会失败,因为该文件正在另一个进程中使用。

我想在指定的时间段内重试此操作,然后timeout如果文件仍处于锁定状态。

我阅读了有关Polly的信息,并认为这非常适合我的需求。

该代码最终将包含在一个ASP.NET应用程序中,但我创建了一个小型控制台应用程序,试图展示我想要实现的目标。

这是我第一次尝试使用Polly,所以我在这里可能完全不合时宜,但是一旦我在其中运行应用程序,Visual Studio 2013就会收到以下错误:

这是代码:

我究竟做错了什么?

0 投票
1 回答
1380 浏览

.net - Polly 的后备中的动态委托

我在 PolicyRegistry 中有以下策略可以在全球范围内重用:

我有以下要实现的代码fallbackPolicy

我希望它看起来像这样:

据我了解,fallbackPolicy.Execute需要执行 Action/Func ,要么成功,在这种情况下fallbackPolicy没有命中,要么失败,在这种情况下fallbackPolicy,使用一些预定义的fallbackAction.

我想做的是在执行策略时传入两个处理程序(onFail(transaction)处理事务和onSuccess(transaction)提交事务)。有没有更简单的方法来代替包装或使用 Polly 的上下文?

0 投票
2 回答
1048 浏览

c# - 根据重试次数调整超时时间

我想用 Polly 来做以下事情: 尝试一个超时时间很短的请求。如果失败,请使用更长的超时时间重试。

我看到Retry可以这样访问retryCount

我看到Timeout可以指定一个intor TimeSpan,如下所示:

我什至看到您可以将函数传递给超时,如下所示:

Func选项似乎最有希望,但它可以在哪里访问重试计数?将状态保留在策略之外是很诱人的,但是如果我想以线程安全的方式共享策略,那是很危险的。

有什么建议吗?