似乎我的问题的解决方案应该比它更容易,这让我觉得我错过了明显的问题。我正在尝试测试并确保远程客户端计算机可以从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的服务总线队列和主题发送/接收消息。
任何人都可以指出我的缺陷吗?
答案 0 :(得分:1)
从我上面的评论中......
我找到了为什么它在我的情况下不起作用的答案。 Azure中AMQP的预览库使用了与我可以找到的所有其他文档不同的端口。使用发布库,它可以自动在https上工作。
答案 1 :(得分:0)
Http连接模式不适用于Http 1.0。它只适用于Http 1.1 ......
如果你在Http 1.0(主要是代理),你必须打开TCP端口(9350-54)