nservicebus - 链接事件/命令?

标签 nservicebus

我有一个正在尝试使用 NServiceBus 实现的功能,但不确定此处使用的模式。 (我对 NServiceBus 还很陌生)

我会尝试解释我的不确定性来自哪里:

用户交互触发MVC Controller 发送命令来执行域操作。此命令引发一个事件以通知其他人发生了这种情况。

订阅此事件的处理程序确定是否应发生另一个域操作。

这是我不清楚要遵循的正确模式的地方。此时事件处理程序应该:

  • 只需进行所需的更改即可?
  • 发送一个新命令来执行此操作?如果是,请将其发送回原始服务/流程?
  • 还有其他选择吗?

我想知道是否应该使用进程内域事件来处理此问题,但我认为第一个命令不应在返回之前等待第二个命令。事实上,这可能会发生得更晚。这就是为什么我选择使用总线来异步处理它的原因。此外,第二次操作完成后将需要生成一封电子邮件。是否应该由另一个事件/命令触发?

感谢所有指导。

最佳答案

如果不需要等待第二个操作,那么是的,应该异步完成,因此第一个命令的处理应该发布 NServiceBus 事件。该事件的处理程序(可能)托管在一个单独的端点中,然后该端点将完成工作 - 无需在那里发送另一个命令。

关于nservicebus - 链接事件/命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895115/

相关文章:

c# - 如何以编程方式将映射添加到 UnicastBusConfig?

asp.net-mvc-4 - 使用不带 global.asax 的结构图注入(inject) NServiceBus

NServiceBus 4.0 的 RavenDB 错误

ravendb - 没有有效的商业许可证无法设置 Windows 身份验证

log4net - NServiceBus 和 Log4Net 外部配置文件

c# - 与 NServiceBus 的异步 WCF 集成

nhibernate - NHibernate 的 NServiceBus 警告

c# - 如何使用 NServiceBus 避免 READPAST 锁定警告

nservicebus - 有没有办法将现有应用程序添加为 Servicematrix 中的端点?