使用Azure Service Bus通过端口80发送消息

时间:2012-11-14 21:08:45

标签: azure appfabric azure-queues azureservicebus

似乎我的问题的解决方案应该比它更容易,这让我觉得我错过了明显的问题。我正在尝试测试并确保远程客户端计算机可以从Azure Service Bus Queue发送/接收消息。

我正在使用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的服务总线队列和主题发送/接收消息。

任何人都可以指出我的缺陷吗?

2 个答案:

答案 0 :(得分:1)

从我上面的评论中......

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

答案 1 :(得分:0)

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

如果你在Http 1.0(主要是代理),你必须打开TCP端口(9350-54)