简体   繁体   English

MSMQ-发送到远程专用队列没有任何作用

[英]MSMQ - send to remote private queue does nothing

I'm experimenting with MSMQ and can get a sender/receiver working on a local machine. 我正在尝试使用MSMQ,可以使发送方/接收方在本地计算机上工作。 Now I'm trying to have a sender work from another machine and send messages to a remote private queue, but now my sender says it has sent a message yet nothing is ever received - or looks like it has ever been sent as far as I can tell. 现在,我正在尝试使发送者在另一台计算机上工作,并将消息发送到远程专用队列,但是现在,我的发送者说它已经发送了一条消息,但是却什么也没收到-或看起来好像从我之前就已经发送过了可以告诉。

I've made sure that it is connecting to the remove private queue as follows: 我确保它按如下所示连接到删除专用队列:

FormatName:Direct=TCP:ipaddress\private$\TestQueue

where ipaddress is the correct address to my remote machine. ipaddress是我的远程计算机的正确地址。 I can then see in Computer Management that an outgoing queue is created for this queue. 然后,我可以在计算机管理中看到为此队列创建了传出队列。 Yet when I use the Send() method it completes and does nothing. 但是,当我使用Send()方法时,它完成并且什么也不做。 Nothing appears in the outgoing queue and certainly never appears on the remote machine. 外发队列中什么也没有出现,并且肯定不会在远程计算机上出现。 It also does this without any errors - it just does nothing and carries on. 它还做到了这一点而没有任何错误-它什么也不做,继续进行。

I tried adding in code for acknowledgements using this article http://beaucrawford.net/post/MSMQ-ndash3b-Sending-Messages-to-Remote-Queues.aspx but then it does throw an exception saying that the message requested was not found in the acknowledgment queue. 我尝试使用本文http://beaucrawford.net/post/MSMQ-ndash3b-Sending-Messages-to-Remote-Queues.aspx添加用于确认的代码,但随后它确实抛出异常,表明未找到所请求的消息在确认队列中。

Any ideas? 有任何想法吗? Are there things that need to be configured before I can do distributed message queueing? 在进行分布式消息排队之前,是否需要配置某些东西?

Update: 更新:

Found out that it was to do with permissions on the queue I was sending to. 发现这与我发送到的队列的权限有关。 Using answers below I switched on dead-letter queueing to find out where the messages were going and found out that the message was being sent to the remote private queue but access was denied. 使用下面的答案,我打开了死信队列,以查找消息的去向,并发现消息正在发送到远程专用队列,但访问被拒绝。

Most likely the permissions on the queue are insufficient. 队列上的权限很可能不足。

Enable Negative Source Journaling in your code to get a Dead Letter Queue message that explains the lack of delivery. 在您的代码中启用“负源日记帐”,以获取“死信队列”消息,该消息说明缺少传递。

http://technet.microsoft.com/en-us/library/cc739818(WS.10).aspx http://technet.microsoft.com/en-us/library/cc739818(WS.10).aspx

Cheers 干杯
John Breakwell 约翰·布雷克威尔

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM