在Windows Server 2016上接收MSMQ消息

时间:2018-04-02 23:46:55

标签: c# msmq

我在Windows Server 2016计算机上设置了一个队列,但在我的生活中我无法弄清楚如何从远程接收消息。

if (clusterIcon != nil) { marker.icon = clusterIcon; marker.groundAnchor = CGPointMake(0.5, 0.5); }else{ marker.icon = [UIImage imageNamed:@"K_Annotation.png"]; } 将抛出

MessageQueue.Receive()

然后我在Windows Server 2008 R2的另一个盒子上以相同的方式配置了一个队列,我可以从那个队列收到这个队列。

所以这里有一些关于我的设置以及到目前为止我尝试过的细节。

  • 我使用的格式名称为MessageQueueException (0x80004005): Access to Message Queuing system is denied
  • FORMATNAME:Direct=OS:machine-name\private$\queue-nameEveryone被授予队列的完整权利
  • 服务器上的防火墙已完全禁用
  • 我取消选中"禁用未经身份验证的RPC调用"在MSMQ安全设置中

我还应该检查什么?我怎样才能深究这一点?

1 个答案:

答案 0 :(得分:1)

我终于通过禁用安全远程读取来实现它:

  

修改此默认行为并允许消息队列服务器   接受来自未建立的域计算机的请求   加密频道,添加   HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ MSMQ \参数\安全\ NewRemoteReadServerAllowNoneSecurityClient   注册表项(DWORD)并将其设置为1.

来源:https://msdn.microsoft.com/en-us/library/ms699854.aspx