【发布时间】:2023-03-24 16:56:01
【问题描述】:
我们有一个使用 MsmqBinding 和 WAS 的 WCF 日志服务。问题是我尝试从远程计算机使用它,并且该消息似乎永远不会到达目标队列。以下是事实:
- 服务器配置
- 列表项
- 目标机器名称:logserver.domain.ext
- 目标队列:private$/logservice.svc(启用日志记录)
- 队列中的安全性:每个人:完全控制,网络服务:完全控制
- IgnoreOSNameValidation 注册表项:设置
- 客户端配置
- 客户端端点地址:logserver.domain.ext/private/logservice.svc
- 观察到的行为
- 输出队列创建良好,状态为已连接,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