【问题标题】:WCF and MsmqBinding to remote private queueWCF 和 MsmqBinding 到远程专用队列
【发布时间】:2023-03-24 16:56:01
【问题描述】:

我们有一个使用 MsmqBinding 和 WAS 的 WCF 日志服务。问题是我尝试从远程计算机使用它,并且该消息似乎永远不会到达目标队列。以下是事实:

  1. 服务器配置
    • 列表项
    • 目标机器名称:logserver.domain.ext
    • 目标队列:private$/logservice.svc(启用日志记录)
    • 队列中的安全性:每个人:完全控制,网络服务:完全控制
    • IgnoreOSNameValidation 注册表项:设置
  2. 客户端配置
    • 客户端端点地址:logserver.domain.ext/private/logservice.svc
  3. 观察到的行为
    • 输出队列创建良好,状态为已连接,0 条消息等待
    • 如果我暂停输出队列,我会看到消息出现,然后在恢复队列时消失
    • 在远程队列或日志中看不到任何消息

价值是:

var queue = new MessageQueue(@"FormatName:DIRECT=OS:logserver.domain.ext\private$\logservice.svc");
queue.Send("hello");

有效!

【问题讨论】:

  • 您使用的是 Server 2008 吗?服务和消费者机器是否在同一个域中?
  • @Hugh : Windows 7 到 Windows Server 2008 在同一个域中。
  • 尝试将匿名用户添加到您的队列权限(完全控制)。

标签: wcf msmq netmsmqbinding


【解决方案1】:

您没有提及匿名登录帐户的权限。如果您没有在绑定上显式使用 Windows 安全性,则远程私有队列访问将在此帐户下进行。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,结果发现问题出在分布式事务协调器配置上。 This MSDN document帮我解决了。

    【讨论】:

      猜你喜欢
      • 2012-05-28
      • 2012-01-21
      • 2021-04-26
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2011-09-09
      • 2012-07-25
      • 1970-01-01
      相关资源
      最近更新 更多