将OWIN自托管Service Fabric应用程序部署到云后的端点

时间:2016-04-04 21:12:44

标签: azure azure-service-fabric

我能够在本地运行描述here的示例OWIN自托管Service Fabric应用程序,并将对localhost的HTTP请求的结果看作XML文件。但是,当我将应用程序发布到云中的Service Fabric时,如何发出相同的请求?我的Service Fabric端点以[fabric name] .westus.cloudapp.azure.com:19000给我,所以我尝试了[fabric name] .westus.cloudapp.azure.com:19000 / api / values,但它给了我一个乱码下载文件,我希望我以前获得相同的XML文件。本地ServiceManifest.xml文件提供了一个8760的端口,这是我用于localhost的端口,但是它也没有在云上工作,我在云中看到的清单没有列出任何端口。

3 个答案:

答案 0 :(得分:4)

创建Service Fabric群集时,是否为OWIN端点指定了自定义端口号?在您的情况下,这将是8760:

specifying a custom SF endpoint port

Service Fabric允许您使用上述指定自定义端口+在ServiceManifest.xml端点定义中指定该端口,或者如果您未指定将从可用范围分配给端点的端口SF应用程序的端口号:

more details on endpoint port mapping in Service Fabric

答案 1 :(得分:4)

端口19000是管理工具使用的二进制协议。正如其他人在此处所说的那样,您所缺少的是通过Azure负载均衡器公开您的服务端口(在您的情况下为8760)它必须配置为您希望运行服务的每个节点上的自定义端口。 Azure负载均衡器会将外部流量路由到指定了自定义端口的每个节点,因此您还必须确保每个节点上的服务正在运行。您可以使用" -1"用于服务的实例计数。

答案 2 :(得分:0)

听起来你需要在负载均衡器中打开端口8760。转到Azure门户,找到负载均衡器设置,然后打开端口。然后你可以通过[面料名称] .westus.cloudapp.azure.com访问:8760 / api / values。