How can I call my Function App API from another system?

时间:2018-07-25 05:28:33

标签: c# api azure azure-functions azure-functions-runtime

I have created an Function App using Visual Studio 2017 and I created some APIs. That API was worked on my system very fine. But from another system its gets the "bad request / site can't be reached".

enter image description here

My question is, how can I call my API from the another system? Anyone please give me solution.

2 个答案:

答案 0 :(得分:2)

如果创建了v2函数,请在本地调试时检查函数的CLI输出。第三行应该有Now listening on: http://0.0.0.0:7071

如果看到Now listening on: http://localhost:7071,则说明您的功能CLI较旧,因此仍绑定到本地主机,这将阻止您使用本地IP访问功能。

显然,解决方案是使用最新的CLI。在VS菜单上,工具->扩展和更新,找到Azure Functions and Web Jobs Tools,将其更新为最新版本(15.0.40617.0)。然后,新的CLI应该可以正常工作。

请注意,本地功能只能由同一LAN中的系统访问,否则,您应该公开使用该功能,请查看ngrok。而且,如果您使用v1函数,其最新的CLI仍将绑定到localhost,如果需要,必须使用ngrok之类的工具。

答案 1 :(得分:2)

在VS调试站点,默认情况下使用IIS Express和localhost +端口。

为了使用IP地址和多域调试,我们可以在applicationhost.config下找到C:\Users\...\Documents\IISExpress\config\applicationhost.config并找到以下代码:

enter image description here

<bindings>标签中添加类似的行:

 <binding protocol="http" bindingInformation="*:7071:192.168.1.17" />

然后以管理员身份打开CMD命令窗口:

netsh http add urlacl url=http://192.168.1.17:7071/ user=everyone

最后,您可以使用IP地址访问此网站

更多信息供您参考:IIS Express enable external request