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()。