21得票4回答
使用Polly在HttpStatusCode.Unauthorized后进行重试

我正在调用一个外部API,希望处理一个调用返回Unauthorized HttpResponseMessage的事件。当这种情况发生时,我想刷新访问令牌并再次进行调用。 我尝试使用以下代码:Polly public async Task<HttpResponseMessage&g...

19得票1回答
使用 Polly 在异步函数中进行重试尝试

我想尝试将一个失败的操作重试3次。 我正在使用Polly进行重试操作。 如果重试操作失败,我希望能够获取异常并再次重试2次,以此类推。return await Policy .Handle<CustomException>() .Retr...

16得票4回答
在使用 Polly 进行重试之前,请检查响应的字符串内容。

我正在使用非常不稳定的API。 有时候会出现500服务器错误和超时,有时候也会因为给它不能处理的输入而得到500服务器错误 SqlDateTime溢出。 必须介于1/1/1753 12:00:00 AM和12/31/9999 11:59:59 PM之间。 这两种情况都会给我HttpRequ...

16得票1回答
AddTransientHttpErrorPolicy和AddPolicyHandler有什么区别?

我希望使用 Polly 应用弹性策略。我正在使用 ASP.NET Core 2.1 中的 HttpClientFactory。我在Polly GitHub wiki上找到了一些指南。有两种配置策略的方式 - 使用 AddTransientHttpErrorPolicy 和 AddPolicyH...

14得票1回答
Polly超时策略澄清

我正在尝试正确使用超时策略。 在整合一个api时,我有以下需求: 创建一个HTTP请求以调用endpoint1并传递transactionID,捕获结果。 如果HTTP请求在20秒内没有收到答复,则发送一个带有相同transactionID的取消请求,并捕获结果。 为了完成这个任务,我想使...

13得票1回答
默认���况下,Polly (.Net) 会重试哪些 HTTP 错误码?

我知道可以使用 Polly 指定需要重试的 HTTP 错误代码列表(例如 408、502、503 等),但如果没有指定任何代码,那么默认会重试哪些代码呢?

13得票2回答
执行多个策略。

如何执行多个策略(或将它们合并为一个策略)?例如,我有:var policy1 = Policy.Handle<DivideByZeroException>().WaitAndRetry(5)); var policy2 = Policy.Handle<StackOverf...

13得票1回答
如何在通过Polly重试策略执行的委托中获取重试计数?

我正在我的C# web应用程序中使用Polly来重试请求。 我的示例代码包含在此帖子中。 代码按预期工作,但传递给CreateFile()的最后一个参数(当前硬编码为0)需要是retryAttempt的值。 如何在Execute的Action中获取retryAttempt的值?return P...

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

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

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

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