考虑以下情况:
public class OrderController {
IBus bus;
public OrderController(IBus bus) {
this.bus = bus;
}
public ActionResult Checkout(String orderId) {
var command = new CheckoutOrderCommand(orderId);
bus.Send(command);
return Redirect("on-success-url");
}
}
相应的命令处理程序(在另一个程序集中定义)正在等待处理传入的消息。
但是,我们已经通过发送return Redirect("on-success-url");
来表示一切正常。
如果处理程序无法将更改保存到领域中怎么办?
嗯,可以在命令处理程序侧使用队列来发布响应,以订阅Web应用程序到队列。
最终用户如何获得反映对领域所做实际更改的即时/同步UI响应?我应该这样做吗?
使用消息总线处理传入命令只适用于没有确认的后台任务吗?