重试呼叫外部服务

时间:2018-12-03 10:32:35

标签: c# api azure web-services hangfire

我正在从服务器中调用外部服务,我需要将坐标数据(从移动应用程序发送)发送到该服务并获取收据。该服务通常会关闭一段时间。重试发送数据(在相当长的时间后:例如间隔1小时)并确保没有重复的最佳做法是什么。
谢谢。

3 个答案:

答案 0 :(得分:1)

Polly库可能是您最好的选择。

https://github.com/App-vNext/Polly

答案 1 :(得分:1)

在这方面,Polly是一个很棒的库,但是polly提取了许多适用于不同场景的设计模式。在您的情况下,您可以使用polly并专门查找“断路器”和“重试”模式。为了获得最佳重试策略,请在重试中封装断路器。

答案 2 :(得分:0)

如果服务请求失败,则可以将坐标保存在移动应用的LocalDB中,然后尝试在间隔后从LocalDB发送坐标,如果坐标可以成功发送,则删除坐标。