0

我有两个 Amazon EC2 实例,我想从一台服务器向另一台服务器的 MSMQ 发送消息。通常,在其他测试环境中,这将在域上,因此不会有问题,但这些 EC2 实例是工作组计算机,而不是在域上。因此,尝试发送到该机器上的公共队列是不可能的。因此,我在第二台服务器上创建了一个私有队列,但看不到如何让消息出现。我尝试了以下方法:

[机器名][队列名] 例如 ServerB\testqueue

FormatName:direct=[machinename]\private$[queuename] 例如 FormatName:direct=ServerB\private$\testqueue

DIRECT=[机器名]\PRIVATE$[队列名] 例如 DIRECT=ServerB\private$\testqueue

FormatName:direct=os:[machinename]\PRIVATE$[queuename] 例如 FormatName:direct=os:ServerB\private$\testqueue

注意:我有两台服务器的主机文件条目,其中列出了针对相关固定 EC2 IP 地址的工作组/netbios 名称

使用两个 FormatName: 条目,我没有收到任何错误,但消息永远不会到达。使用其他给我一个关于格式名称的错误。在私人队列中,我已经给予“每个人”完全控制权。

谁能建议我如何将消息从一台 EC2 Windows 服务器发送到另一台上的私有队列(不在域上)?

谢谢

4

2 回答 2

3

在私人队列中,我已经给予“每个人”完全控制权。

这吸引了很多人。“每个人”不再意味着每个人 - 几年前就改变了。“所有人”是指本地安全系统有权访问的所有帐户。不同工作组机器上的帐户对它来说是未知的,因此您需要添加“匿名登录”才能真正让每个人都知道。

使用两个 FormatName: 条目,我没有收到任何错误,但消息永远不会到达

要查看错误,您需要启用负源日志并检查死信队列以获取信息。

于 2013-09-30T19:24:30.337 回答
1

这不应该是“公认的答案”——但如果你找不到你可以使用 AWS 托管队列实施的方式——SQS。它与 MSMQ 不是 1-1 兼容,但它是一种有效的后备策略(并且少了一件需要管理的事情)。

于 2013-09-26T07:49:25.567 回答