【问题标题】:Cannot create private message queue on remote server无法在远程服务器上创建私人消息队列
【发布时间】:2011-07-01 02:58:55
【问题描述】:

我无法在远程服务器上创建队列,我得到的错误是:

Cannot create a queue with the path FormatName:DIRECT=OS:server\private$\q

代码如下:

Dim q As MessageQueue
q = MessageQueue.Create("FormatName:Direct=OS:Server\private$\queue")

我已尝试使用操作系统、TCP、HTTP 和所有可能的选项给定here,但我无法在远程机器上创建队列。我在我的开发盒上运行 Win 7 Enterprise,在 MSMQ 服务器上运行 Win Server 2003 R2。

我是否缺少服务器上的一些安全/权限设置或其他一些配置?将不胜感激任何可能的帮助。

【问题讨论】:

    标签: msmq messaging


    【解决方案1】:

    您不能创建远程专用队列。

    您需要在远程机器上手动创建它们,或者在那里运行一个进程来满足您的需要。

    【讨论】:

    • 在这种情况下,我应该仍然可以创建公共队列,不幸的是我也无法创建远程公共队列。
    • 这是一个不同的问题 :-) 您需要在 Active Directory 集成模式下安装 MSMQ 而不是工作组模式才能创建公共队列。如果您认为 MSMQ 安装正确但仍有问题,请提供示例代码行并返回错误。
    • 我如何确保它以 AD 集成模式安装以及如何验证 MSMQ 的安装模式?
    • 在控制面板中,添加/删除安装MSMQ的程序等,AD集成应该是一个子组件。如果您可以在计算机管理中打开消息队列,并且该文件夹是一个没有红色叉号的公用文件夹,那么您处于 AD 集成模式。您应该能够在那里创建一个公共队列。如果您可以在计算机管理中但不能在您的代码中,那么您的代码没有使用正确的方法 - 例如,您不能使用格式名称。 blogs.msdn.com/b/johnbreakwell/archive/2009/02/26/…
    • 我根据technet.microsoft.com/en-us/library/cc749102(WS.10).aspx的文章完成了AD设置/MSMQ集成模式并重启了服务。我现在确实在 MSMQ 服务器中看到了公共队列,但我仍然无法在公共队列下远程创建队列。
    【解决方案2】:

    您不能创建远程队列。看MessageQueue.Create Method documenatation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-23
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      相关资源
      最近更新 更多