2017-07-15 36 views
1

我想调试一个现有的服务总线,它使用NServiceBus从MSMQ获取消息。如何调试使用MSMQ获取消息的服务?

这是我的代码中处理MFNM02消息的消息处理程序。

public class ITKMFNM02Handler : Framework.Messaging.BusEventHandler<MFNM02> 
{ 
    protected override void HandleMessage(MFNM02 message) 
    { 
     ProcessMessages eng = new ProcessMessages(); 

     eng.ProcessMFNM02(message); 
    } 
} 

这些消息由下面的线中的app.config绑定到特定队列

<UnicastBusConfig> 
<MessageEndpointMappings> 
    <add Messages="Ascribe.EIE.Messages.ITK.V1" Endpoint="[email protected]" /> 
</MessageEndpointMappings> 
</UnicastBusConfig> 

现在我使用队列浏览器直接把消息中的“eiequeue” MSMQ但消息是没有被服务巴士接走。

请告诉我,我很想念

回答

2

NServiceBus消息具有特定的格式,只是推消息通过队列浏览器意味着他们无法获得通过NSB处理。您需要在邮件中包含格式正确的邮件正文以及预期的邮件正文。

您可以使用我们的文档网站here的本地发送助手之一来代替Queue Explorer。

此外,如果您在端点上配置审核队列,则可以使用该端点处理实际消息的副本,然后使用Queue Explorer可以修改它们的副本并将它们发送回原始队列以获取他们重新处理。

+0

哇,太棒了,为我工作。我在那里发送格式不正确的消息。谢谢 –

+0

很高兴它解决了!请记住将其标记为接受其他人参考的答案。 –