【问题标题】:Persistable and Repeatable Commands可持久和可重复的命令
【发布时间】:2009-11-18 16:48:54
【问题描述】:

想象一下,我们有一些我们想要在系统中完成的事情,但有时在执行此操作时会引发异常。我们希望向最终用户报告这些错误,以便他们有机会解决问题的根源并然后重新调用导致错误的事物

这显然意味着我们需要以一种允许存储、报告并最终重新执行或丢弃的方式来捕获“事物”。

有没有人对此有任何建议?

谢谢!

- 编辑-

我读过http://msdn.microsoft.com/en-us/magazine/cc163920.aspx

现在我认为消息传递可能是要走的路。我想知道 MassTransit 之类的东西是否有益或矫枉过正。我一直想深入研究 EDA,我认为这可能是一个 in。

【问题讨论】:

    标签: design-patterns command messaging


    【解决方案1】:

    【讨论】:

    • 这并没有真正解决“持久”和“可重复”的部分。
    • 我认为我不同意。 :-) 命令模式被广泛用于重复命令。维基百科本身,在其第一段中:“命令模式是一种设计模式,其中一个对象用于表示和封装稍后调用方法所需的所有信息”。这解决了可重复的问题。关于持久化,维基百科可能没有提及任何内容,但将命令建模为一流实体允许您将它们保存到任何持久性介质。
    • +1 表示命令模式,那东西肯定能解决你的问题 Rob
    • 根据您的 cmets,我发现了这个 books.google.com/books?id=GGpXN9SMELMC&pg=PA228 这是我目前唯一要做的事情,所以我会试一试。感谢您的输入
    • Rob,您可以使用 MT 轻松实现命令模式。只需为命令创建一条消息,将队列设置为事务性,它会在失败的情况下重试。在发生足够多的故障后,命令将被移入错误队列,您可以稍后在服务可用后重新排队。您还可以使用 Magnum 中的断路器来避免破坏已知服务。因此,如果您有 MSMQ 可用,MT 肯定会让它更容易使用。
    猜你喜欢
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    相关资源
    最近更新 更多