我有一个连接器(接收来自不同连接器的消息。在接收消息时,我的连接器提供以下消息:
[Worker.11] WARN NServiceBus.Unicast.Transport.Transact ional.TransactionalTransport [(null)]<(null)> - 未能提高'运输Messa ge收到'ID = fd970068-55ad-49c0-8abc-4133b7f7fe12 \ 2138的消息事件 47 NServiceBus.Unicast.Queuing.QueueNotFoundException ---> System.Messaging.Message QueueException:无法登记该事务。 在System.Messaging.MessageQueue.SendInternal(Object obj,MessageQueueTransac) tion internalTransaction,MessageQueueTransactionType transactionType) 在NServiceBus.Unicast.Queuing.Msmq.MsmqMessageSender.NServiceBus.Unicast.Que uing.ISendMessages.Send(TransportMessage消息,地址) ---内部异常堆栈跟踪结束--- 在NServiceBus.Unicast.UnicastBus.HandleTransportMessage(IBuilder childBuilde) r,TransportMessage msg) 在NServiceBus.Unicast.UnicastBus.TransportMessageReceived(对象发送者,Tra nsportMessageReceivedEventArgs e) 在System.EventHandler`1.Invoke(对象发送者,TEventArgs e) 在NServiceBus.Unicast.Transport.Transactional.TransactionalTransport.OnTrans portMessageReceived(TransportMessage msg)
奇怪的是,当我进行内部测试时,一旦现在托管到亚马逊服务器上它已经开始爆炸,它一切正常。
以下是我如何使用
配置我的nservice总线NServiceBus.Configure.With(
AllAssemblies.Except("libBL.dll").And("libCommon.dll").And("libExtra.dll")).StructureMapBuilder()
.JsonSerializer()
.UnicastBus()
.DoNotAutoSubscribe()
.TransactionTimeout(TimeSpan.FromMinutes(5));
非常感谢任何帮助。如果需要更多信息,请告诉我
谢谢
答案 0 :(得分:0)
在搜索代码时发现,如果进入的消息失败,那么我没有回滚整个操作开始的事务,因此nservicebus无法在锁定时查询数据库。在输入事务回滚的逻辑后,让我的连接器工作。