我想测试一个有害消息处理服务,并希望能够将消息直接发送到有害消息子队列。我使用了以下powershell脚本:
[Reflection.Assembly]::LoadWithPartialName("System.Messaging")
$queue = new-object System.Messaging.MessageQueue "FormatName:DIRECT=OS:myserver\private$\testqueue;poison"
$queue.Send("dummy1");
导致以下错误:
异常呼叫"发送"用" 2"参数:"指定的格式 name不支持请求的操作。例如,直接 队列格式名称无法删除。"
是否有一种直接发送到子队列的简单方法?
答案 0 :(得分:1)
我认为你不能直接发送到subqueue。所有你能做的就是在“主”队列和它的一个子队列之间移动消息。所以唯一的方法是发送到主队列,然后将其移动到subqueue。
我没有使用powershell,但这似乎是命令:
Parameter Set: Transactional
Move-MsmqMessage -DestinationQueue <MessageQueue> -InputObject <MessageQueue> -Message <Message> [-Transactional] [ <CommonParameters>]
https://technet.microsoft.com/en-us/library/hh405021%28v=vs.85%29.aspx
无耻插件:您可以使用我们的产品QueueExplorer来播放MSMQ消息,包括移动到/来自子队列。