我正在尝试使用powershell从错误队列向远程私有队列发送一条消息。我使用的代码如下所示:
$msg = $src_q.Peek()
$msg.Label = GetLabelWithoutFailedQueue($msg)
$msg.UseDeadLetterQueue = $true
$msg.UseTracing = $true
$msg.AcknowledgeType = [System.Messaging.AcknowledgeTypes]::NegativeReceive
$msg.TimeToBeReceived = [System.TimeSpan]::FromSeconds(10)
$msg.TimeToReachQueue = [System.TimeSpan]::FromSeconds(10)
$tx = new-object System.Messaging.MessageQueueTransaction
$tx.Begin()
$dest_q.Send($msg, $tx)
$tx.Commit()该消息继续出现在事务性死信队列中,并带有这样的类:“到达队列的时间已过。”有人知道什么会触发这样的错误吗?这个队列确实存在--我确实设法偷看了一下。此外,我通过窥视从错误队列中获取消息的原因只是为了测试目的;我已经尝试用Receive做同样的事情,结果也是一样的。
发布于 2012-10-23 18:58:05
好的,看起来您提供给MessageQueue构造函数的路径是非常区分大小写的;只要一个字符是大写的,并且需要更低,您就会发现自己处于类似的情况。
如果有人遇到这一点,那么正确的格式是:FormatName:DIRECT=OS:machine_name\private$\queue_name FormatName必须像我在这里所做的那样被驼峰化。
确保machine_name和queue_name是正确的。
https://stackoverflow.com/questions/13014079
复制相似问题