11得票4回答
Polly策略在使用“AddPolicyHandler”时无法工作

我有一个应用程序,它请求需要通过access_token进行身份验证的服务。 我的想法是,如果access_token已过期,则使用Polly进行重试。 我在.NET Core 3.1应用程序中使用Refit(v5.1.67)和Polly(v7.2.1)。 服务注册如下:services.Ad...

12得票1回答
Polly框架与微软瞬态故障处理之间的比较

我想介绍如何在我们的.net应用程序中处理瞬态错误。目前有两个可用的nu-get软件包,一个是Polly框架,另一个是Microsoft瞬态故障处理应用程序块。 我们调查并发现两个都支持异步功能和不同的重试策略。Polly框架还支持断路器。请问有人能够建议使用哪个框架并给出一些充分的理由。此...

7得票1回答
如何从Npgsql异常中判断是否值得重试调用(瞬态故障策略)

我正在编写一个服务,该服务将连接到远程的Postgres服务器。 我正在寻找一种确定哪些异常应被视为短暂性(值得重试)的好方法,并且如何定义适当的连接远程数据库策略。 该服务使用Npgsql进行数据访问。文档说明,Npgsql会为SQL错误抛出PostgresException,而对于“与...

7得票1回答
当使用Polly时,在VS调试器中报告了“Exception User-Unhandled”的错误

我正在使用Polly来捕获在调用普特尼鲍尔地理编码服务时的异常。我正在使用一个g1client库,它会抛出MessageProcessingException异常。我已经将该调用包装在Polly网络策略中,如果抛出此异常,将重试该调用最多3次,但是Visual Studio坚持认为该异常是“未...

7得票1回答
将策略定义与执行分离时理解Polly策略的语义

使用Polly,我希望将我的策略定义和该策略的执行分为两个不同的语句,例如: // Policy definition var policy = Policy .HandleResult<IRestResponse>(predicate) .Retry(2); //...

7得票3回答
Polly的CircuitBreakerAsync在发生异常时不会重试

我正在使用Polly库来处理瞬态故障。对于同步操作,Polly断路器策略运行良好,但当我创建其异步版本时,它不会重试执行。请建议: 异步方法: private async static Task HelloWorld() { if (DateTime.Now &lt...

9得票1回答
波莉重试所有异常,除了特定条件

在 Polly 中,是否有一种方法可以重试除了指定异常以外的所有异常...例如: var p = Policy .Handle<HttpListenerException>(e => !(e.NativeErrorCode == 1)) .Or<Exc...

10得票1回答
如何使用ILoggerFactory记录Polly的重试日志

或:如何从静态方法记录日志。 来自https://github.com/App-vNext/Polly,你可以看到像这样的示例,其中日志记录器是可用的: Policy .Timeout(30, onTimeout: (context, timespan, task) => ...

12得票3回答
Polly策略记录异常并重新抛出。

我考虑使用 Polly 创建策略来记录异常并重新抛出。 我没有找到现成的方法可以直接实现,但我看到了一些选项。 备选方案 // Specify a substitute value or func, calling an action (e.g. for logging) // if th...

11得票1回答
使用与重试策略相关联的特定超时时间。

我正在以下列方式创建重试策略: var policy = Policy.Handle<Exception>().WaitAndRetryAsync... 如何为上述重试策略设置超时时间?Policy.TimeoutAsync返回一个TimeoutPolicy,因此我无法像下面...