2

似乎我的问题的解决方案应该比现在更容易,这让我觉得我错过了显而易见的事情。我正在尝试测试并确保远程客户端计算机可以发送/接收来自 Azure 服务总线队列的消息。

我正在使用 Microsoft 在https://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-amqp/提供的示例应用程序

只要所有端口都打开,示例应用程序就可以正常工作。但是,当只有端口 80/443 可用时,我需要该解决方案才能工作。如果我将 Windows 防火墙配置为仅允许 80/443 上的入站/出站流量,则它不起作用。我收到错误“试图以访问权限禁止的方式访问套接字”。

示例应用程序中的违规行是:

sender = factory.CreateMessageSender(entityName);

我查看了非常多的网站,我发现的一个建议是将连接模式设置为 Http,如下所示:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;

那也行不通。

我没有尝试在远程客户端或 Azure 托管角色上设置自定义服务。我只需要它们都能够通过 Azure 的服务总线队列和主题发送/接收消息。

谁能指出我的缺点?

4

2 回答 2

1

从我上面的评论...

我找到了为什么它在我的情况下不起作用的答案。Azure 中 AMQP 的预览库使用的端口与我能找到的所有其他文档不同。使用发布库,它会自动在 https 上运行。

于 2013-02-15T22:45:10.717 回答
0

Http 连接模式不适用于 Http 1.0。它仅适用于 Http 1.1...

如果您使用 Http 1.0(主要是代理),则必须打开 TCP 端口(9350-54)

于 2013-01-24T14:15:36.403 回答