我使用Visual Studio 2015创建了本地无状态WebAPI和Statefull数据服务。它通过实现http://localhost:344/api/abc/getEmployee
在本地系统和网站访问WebAPI服务中完美运行。然后我在Azure上部署了服务结构应用程序并收到了客户端URL
http://xyz.southeastasia.cloudapp.azure.com:1900/Explorer/index.html#/abc.apptype/app/abc.app/service/abc.app%252webservices
我的问题是如何从此Azure客户端URL调用我的WebAPI控制器和操作?
http://xyz.southeastasia.cloudapp.azure.com:1900/api/abc/getEmployee
无效。
注意:此网址不安全,将由移动和网站使用。
答案 0 :(得分:2)
您使用错误的端口访问您的应用程序。端口19000是管理端点。
Read这可以设置您的API。在端口80运行您的应用程序(如果可能),
确保Azure负载均衡器对群集节点上端口80外部的端口80具有负载平衡规则。更多信息here。
答案 1 :(得分:0)
您需要为要使用的端口配置入站TCP规则。通常,您会将入站端口(例如端口80)映射到应用程序正在侦听的端口(例如344)。
在Azure管理门户中,找到已部署的Service Fabric服务的资源组;在其中,应该有一个“负载均衡器”资源。 - 点击它。
在那里,您应该找到一个名为“负载平衡规则”的窗格(使用浅灰色图标很容易看到它,它位于“入站NAT规则”的正上方)。
使用配置刀片顶部的按钮,为需要打开的端口“添加”规则;您应该给它一个有意义的名称(例如HTTP或WebAPI等) - 对于“Port”,这是您想要映射的公共端口(例如HTTP的端口80),对于Backend端口,您可以将你正在实际收听的端口(例如344)。
最后,不要指望它立即起作用。 - 你会看到一个小小的“更新”栏,你必须等待它完成。