无法将消息发送到远程MSMQ

时间:2013-01-08 15:44:08

标签: c# msmq

我的DEV服务器是Windows 2008 R2安装了MSMQ。 我的本地开发机器是Windows XP,也安装了MSMQ。显然它们是两种不同的MSMQ版本。

在我的代码中,我有类似

的内容
        MessageQueue queue = new MessageQueue(@"formatname:DIRECT=OS:MyDevServer\Private$\MyQueue", QueueAccessMode.Send);
        Message message = new Message(value, new BinaryMessageFormatter());
        queue.Send(message, MessageQueueTransactionType.Single);
        queue.Close();
        return message.Id;

发送消息。我的目的是使消息显示在我的DEV服务器的专用队列中。

我在DEV服务器上创建了这个队列,权限为

  • 每个人 - 获取权限,发送消息
  • 我的域帐户创建队列 - 我可以做任何事情
  • MyDevServer $ - 获取属性,获取权限,发送消息
  • 匿名登录 - 发送消息

我可以毫无例外地在本地运行代码,我也可以获取消息Id。在我当地的Windows XP的MSMQ上,我可以看到我有Outgoing Queue - > DIRECT=OS:MyDevServer\Private$\MyQueue - > Queue Messages。新消息将显示在此队列中。过了一会儿,消息消失了。但我在DEV服务器的队列中的任何地方都看不到它。

更新:我发现SO帖子“MSMQ on Win2008 R2 won’t receive messages from older clients”解决了我的问题,上面的代码是正确的,但目标主机阻止了流量。

0 个答案:

没有答案