【问题标题】:MSMQ: Is it possible to get the message count of a remote private queue?MSMQ:是否可以获取远程私有队列的消息计数?
【发布时间】:2011-08-18 23:45:29
【问题描述】:

我知道对此还有其他问题,但没有真正回答这个问题。

我的代码是:

using (var mQ = new MessageQueue(qPath))
            {
                Console.WriteLine("machine: {0}, name : {1}, path : {2}", mQ.MachineName ,mQ.QueueName, mQ.Path);
                Console.WriteLine("message count : {0}",mQ.GetAllMessages().Count());
            }    

当我在本地队列上尝试 GetAllMessages() 时,当然一切正常:

string qPath = @".\private$\queueName";

但是,当我在同一域上的远程计算机上尝试队列时,我可以仅使用计算机名称成功 ping,我收到此错误:

Invalid queue path name. at System.Messaging.MessageQueue.ResolveFormatNameFromQueuePath

我试过了:

string qPath = @"remoteMachineName\private$\queueName";
string qPath = @"remoteMachineName.qualified.net\private$\queueName";
string qPath = @"DIRECT=OS:remoteMachineName.qualified.net\private$\queueName";
string qPath = @"DIRECT=OS:remoteMachineName\private$\queueName";
string qPath = @"DIRECT=OS:ip.ad.re.ss\private$\queueName";
string qPath = @"DIRECT=TCP:ip.ad.re.ss\private$\queueName";

所有这些都给了我同样的错误。

网络上的文档指出,如果您知道完整的“路径”,则可以找到私有队列。

这是真的吗?如果是这样,如何编译完整路径??

干杯

【问题讨论】:

  • 您是否检查了远程服务器上的防火墙设置? MSMQ 需要打开大约 4 个端口,IIRC。你的string qPath = @"DIRECT=OS:remoteMachineName\private$\queueName"; 是我从远程私有队列获取消息计数时使用的。
  • 真的吗?兄弟,谢谢你,我会试试看,然后回来找你。您应该将您的评论作为答案,以便我可以代表它!
  • 您是否已授予运行您尝试枚举给定 MSMQ 队列的消息的进程的用户权限?
  • 我也遇到了同样的问题。目前还没有找到解决方案。

标签: msmq system.messaging


【解决方案1】:

异常显示路径名由于某种原因无法转换为格式名。 尝试使用格式名称创建队列

http://msdn.microsoft.com/en-us/library/ch1d814t.aspx

例如,Formatname:DIRECT=OS:ip.ad.re.ss\private$\queueName

干杯 约翰

【讨论】:

  • 嗨,谢谢约翰,这不起作用。我现在得到:“指定的格式名称不支持请求的操作,例如,无法删除直接队列格式名称。”我正在运行与上面相同的代码,它只是在执行 GetAllMessages()
【解决方案2】:

访问this页面

"FormatName:Direct=OS:machinename\\private$\\queue"

【讨论】:

    【解决方案3】:

    是的,您缺少 FormatName。例如"FormatName:Direct=OS:localhost\private$\messages"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 2013-06-07
      • 2012-02-12
      • 2011-03-20
      • 2010-11-16
      • 2015-11-23
      • 2014-07-29
      相关资源
      最近更新 更多