请帮助我开始
我周末一直在冲我的屁股,对不起我的法语,没有找到我要找的东西。
这是我尝试移至消息队列的过程
这就是我想要pub / sub的事务和错误处理
某些问题
是的,我知道有一个简单的发布/子示例:-)但我无法将它们粘在一起
非常感谢任何帮助。
答案 0 :(得分:4)
如何使用交易发布到队列?
如果队列是事务性的,那么在配置总线时,请使用msmq://machine/queue_name?tx=true
以确保MassTransit知道它是一个事务性队列。现在这意味着所有涉及的机器都需要能够注册DTC。这可能是也可能不是微不足道的设置。这假定使用MSMQ。我建议使用RabbitMQ,除非您需要注册分布式事务。
如何从队列中检索邮件,然后在处理邮件时出现错误时中止。
如果发现错误,MassTransit支持MSMQ事务队列上的自动重试(5x?)。您还可以捕获错误并使用RetryLater()
将其丢回队列。
打开/关闭队列连接的最佳方法是什么?是否有轻量级会话对象?
如果您使用的是MassTransit,MT会为您处理所有连接对象。无需打开/关闭队列连接。
实际上,您可以在文件侦听器服务上执行Bus.Instance.Publish(new FileArrivedMessage(filename))
;在消费者方面,只需注册Consumes<FileArrivedMessage>.All
实施。他们每个人都需要自己的队列,但应该能够轻松地进行通信。
您也可以从MT邮件列表中获得更多帮助。 https://groups.google.com/forum/#!forum/masstransit-discuss