如果发生异常,则用于更改代码行为的模式

时间:2012-04-06 09:12:34

标签: .net design-patterns

我需要在C#中实现以下功能:

我们需要定期检查和检索来自网络服务的更新数据 - 例如,每5分钟一次。

如果我想在10分钟内重新安排请求数据后无法连接到服务器,那么如果连接再次失败,它将在一小时内重新安排或通知管理员。一旦连接成功,我们就会回滚5分钟。

我想以一般方式实现可以重用任何可能出错的请求。假设它可以调用db,也可以调用服务 - 每种类型的工作都有自己的ID。这段代码将包裹这些调用。如果收到任何异常或错误响应,系统应以适当的方式作出反应 - 取决于工作状态 - 并将工作转移到其他状态。如果错误的响应收到一次我们只是重新安排请求,下次我们不会重新安排它,但停止工作并通知管理员。

我查看了断路器模式,但它有点不同。

请告知您是否有任何模式或代码可供查看或重复使用?

1 个答案:

答案 0 :(得分:0)

为此,最好的解决方案是状态模式