如何调用部署在azure上的WEB api服务结构?

时间:2017-04-13 21:10:39

标签: asp.net-web-api azure-service-fabric

我使用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无效。

注意:此网址不安全,将由移动和网站使用。

2 个答案:

答案 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)。

最后,不要指望它立即起作用。 - 你会看到一个小小的“更新”栏,你必须等待它完成。