代码改变世界

NserviceBus:消息Message、Command、Event(2)

2017-09-15 15:52  huoit  阅读(349)  评论(0编辑  收藏  举报

  

NServiceBus.IMessage 用于定义消息。
NServiceBus.ICommand 用于定义命令。
NServiceBus.IEvent 用于定义事件。

 

 ICommand 命令

用于点对点的通知接收端处理这个命令。每个 Command 都应根据路由被Send到对应的接收点Endpoint(所有命令应具有一个逻辑所有者,并应发送到负责处理的端点)。

例如上一文里的例子,我们下单的Command是从Client根据路由被Send到服务端;

特点:

1、不允许发表。
2、无法订阅或取消订阅。
3、无法实现IEvent。

IEvent 事件

用来沟通,发生了一些行动。每个Event都应该被Publish出去;例如上一文的Server端接收到客户端Send过来的Command后,转换成Event消息Publish出去给订阅者

特点:

1可以订阅并取消订阅。

2无法发送Send()(因为所有事件都应该发布)。
3无法实现ICommand。
4不能使用网关发送,即SendToSites()。