我尝试使用NServiceBus版本3来接收从远程客户端计算机发送到MSMQ队列的消息。客户端与目标队列所在的机器位于同一域中。后一台机器运行Windows Server 2008 R2(MSMQ版本5.0)作为操作系统。考虑到NServiceBus文档,我以“QueueName @ MachineName”的形式指定了端点名称。但是,消息未发送到指定的队列。似乎“MessageQueue”类的“Transactional”属性导致了这个问题。所以我绕过了在NServiceBus源代码中访问该属性。因此,邮件已成功发送,但客户端未收到回复消息。更准确地说,当我查看服务器管理器窗口上的消息信息时,响应队列的名称为空。 只有在远程发送邮件时才会发生这种情况。我似乎错误地设置了一些配置。我想知道我需要提供什么配置信息才能使NServiceBus在上述环境中工作。此外,是否有一个示例项目,演示如何使用NServiceBus将消息发送到远程队列并接收相应的回复消息。
答案 0 :(得分:3)
如果您将客户端进程配置为仅发送端点,则它不会在其发送的消息中包含其返回地址,这意味着服务器将无法响应。话虽如此,我认为这不是你的问题。
您应该尝试在计算机上运行NServiceBus附带的Full Duplex示例,以查看它是否正常工作。如果没有,则表示您在需要更正的机器上存在更深层次的安装问题。