使用NServiceBus如何批量处理多个消息?

时间:2014-01-27 17:43:14

标签: nservicebus

我们目前有一个流程涉及发送第三方xml文件,其中包含我们系统中发生的更改。

我们正在使用NServiceBus,并将更改建模为发送到端点的单个命令。

我们不希望将这些更改作为单个文件发送;相反,我们想批量接收许多命令,将这些信息连接成一个文件。

如何将多个命令批量处理到单个导出文件中?

2 个答案:

答案 0 :(得分:1)

你看过Sagas吗? Sagas允许您为长期运行的业务流程建模。因此,如果一个文件有多个部分,那么Saga可以在它获得第一部分时开始,并在它拥有所需的所有部分时完成。

http://cdn.nservicebus.com/sagas.aspx

答案 1 :(得分:0)

您可以使用Bus.Send(IMessage []消息)发送命令。请注意,它需要一个数组,并且消息将通过网络打包到一个队列消息中。在接收方,每个消息将调用一次处理程序。在您的处理程序中,您应该能够继续附加到您的文件。在处理程序中,您可以放置​​逻辑以确定何时在必要时“滚动”文件。