使用Bus.Publish发布消息和使用Bus.Send发送消息之间有什么本质区别?我希望了解它们之间的区别,以及我何时应该选择使用其中一种。
答案 0 :(得分:30)
发布用于通知多个订阅者特定事件。发布端点将具有订阅存储,以标识将消息发送到的位置。发送通常用于向端点发出命令。命令告诉端点做某事并且不应该期待回复(尽管有时你确实需要回复而NSB支持这个)。
您没有看到Send()目标的原因是您通过配置指定目标。在app.config中,您将消息类型(整个程序集或类)映射到目标。执行此操作时,您无需提供目的地。
答案 1 :(得分:15)
Bus.Publish :当您不知道消息的去向时使用(0到多个订阅者)。
Bus.Send :当您向特定处理程序(客户端到服务器)发送消息时。
答案 2 :(得分:0)
通常Context.Publish()用于发布事件类型,Context.Send()用于命令类型