2017-04-13 120 views
2

我已经使用Visual Studio 2015创建了本地无状态的WebAPI和Statefull数据服务。它通过实施http://localhost:344/api/abc/getEmployee完美地在本地系统和网站访问WebAPI服务中工作。然后,我在Azure上部署的服务应用面料并收到客户端的URL如何调用部署在Azure上的WEB API服务结构?

http://xyz.southeastasia.cloudapp.azure.com:1900/Explorer/index.html#/abc.apptype/app/abc.app/service/abc.app%252webservices 

我的问题是,我怎么能叫我的WebAPI控制器和动作,从这个Azure的客户端网址是什么?

http://xyz.southeastasia.cloudapp.azure.com:1900/api/abc/getEmployee不起作用。

注意:此网址不安全,将通过手机和网站使用。

+0

你是什么意思的“不工作”?你得到了什么HttpStatus代码? 404? – Marusyk

+0

将外部端口转发到负载均衡器上的内部端口334,然后通过http:// {lbip}进行访问:extport/api/abc ... – Mardoxx

+0

@ MegaTron-我收到了“无法获得任何响应,请确保后端是正常工作“在检查http://xyz.southeastasia.cloudapp.azure.com:19000 Url ..... – RajeshSharepointGeek

回答

2

您正在使用错误的端口来访问您的应用程序。端口19000是一个管理端点。

Read此设置你的API。在端口80(如果可能的话)运行你的应用程序,

确保Azure的负载均衡有80端口外部端口80群集节点上的负载平衡规则。更多信息here

0

您需要为要使用的端口配置入站TCP规则。通常,您会将入站端口(例如端口80)映射到您的应用程序正在侦听的端口(例如344)。

在Azure管理门户中,找到部署的Service Fabric服务的资源组;其中应该有一个“Load Balancer”资源。 - 点击它。

在那里,你应该找到一个名为“负载平衡规则”窗格(它很容易看过去,它与浅灰色的图标,它的正上方“入站NAT规则”)。

在配置刀片顶端使用按钮,“添加”了,你需要打开端口的规则;您应该给它一个有意义的名称(例如HTTP或WebAPI等) - 对于“端口”,这是您想要映射的公共端口(例如端口80用于HTTP),对于后端端口,您可以将您实际正在监听的端口(例如344)。

最后,不要期望它立即工作。 - 你会看到一些“更新”栏,你必须等待完成。