为什么我无法连接到msmq中的远程专用队列?

时间:2011-11-23 21:24:36

标签: msmq

我在MSDN论坛上问过这个问题,我从John Breakwell那里得到了很多帮助,但是我无法解决我的问题,现在我又在圈子里跑了(再次)。所以也许有人可以帮助我。

我有一个远程专用队列,一个生产者应用程序和一个消费者应用程序。我正在使用带有MSMQ的Windows Server 2008。

我可以使用我的制作人应用程序发送消息,但我无法使用我的消费者阅读。这是我的消费者代码

MessageQueue rmQ = new MessageQueue("FormatName:Direct=OS:<hostname>\\private$\\<queuename>");
System.Messaging.Message msg = rmQ.Receive();

我在第二行中得到一个异常,除了堆栈跟踪

之外,异常为null而没有任何信息
  

System.Messaging.MessageQueueException(0x80004005)      在System.Messaging.MessageQueue.MQCacheableInfo.get_ReadHandle()      在System.Messaging.MessageQueue.StaleSafeReceiveMessage(UInt32超时,Int3   2个动作,MQPROPS属性,NativeOverlapped *重叠,ReceiveCallback接收   iveCallback,CursorHandle cursorHandle,IntPtr事务)      在System.Messaging.MessageQueue.ReceiveCurrent(TimeSpan timeout,Int32 actio   n,CursorHandle游标,MessagePropertyFilter过滤器,MessageQueueTransaction中   ternalTransaction,MessageQueueTransactionType transactionType)      在System.Messaging.MessageQueue.Receive()      at consumer.Program.Main(String [] args)在C:\ Users \ usr \ Documents \ Visua中   l Studio 2010 \ Projects \ loadQueueTest \ consumer \ Program.cs:第20行

我已经阅读了很多内容,所以我已经做了一些事情:

  • 我已将匿名登录设置为对队列具有完全访问权限
  • 我已将我的域用户设置为服务器上的管理员
  • 打开MSMQ和RPC的端口
  • 禁用防火墙

我还使用rpcping和portqry来执行一些诊断,我不是专家,但似乎没问题。

有谁知道我错过了什么?

谢谢, 奥斯卡

0 个答案:

没有答案