【发布时间】:2022-01-17 23:57:06
【问题描述】:
我正在开发一个 WPF 4.0 应用程序,我们在其中从远程 Web 服务获取数据。 Web 服务向其客户端公开了大约 120 多种方法。如果来自我的 WPF 应用程序的 Web 服务调用失败,我需要重试 n 次,这可以通过 App.Config 进行配置。如何实施?有没有解决这个问题的设计模式?
【问题讨论】:
-
请注意,此模式不能很好地与自身组合。如果一个重试四次的函数调用了一个重试四次的函数,而该函数又调用了一个重试四次的函数,那么最后一个操作将重试 64 次。如果它在重试之间等待 30 秒,那么用户会坐在那里半小时等待错误消息。我强烈建议不要使用这种模式。当出现故障时,立即停止,告诉用户,让他们决定是重试还是去看看路由器是否拔掉了。
-
当然对于 WPF 应用程序,重试次数不会很高!尽管如此,这对于执行后台操作的控制台应用程序非常有用。
-
你最后做了什么?不要忘记标记答案?