Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Xamarin.Forms移动应用程序(和同一网络上的其他计算机)连接到RESTful API_C#_Asp.net_Api - Fatal编程技术网

C# 从Xamarin.Forms移动应用程序(和同一网络上的其他计算机)连接到RESTful API

C# 从Xamarin.Forms移动应用程序(和同一网络上的其他计算机)连接到RESTful API,c#,asp.net,api,C#,Asp.net,Api,我正在尝试将我的Xamarin.Forms移动应用程序连接到我在本地计算机上托管的RESTful API。对于Xamarin.Forms移动应用程序和API,我都使用Visual Studio,对于API,我使用ASP.NET Core(Visual Studio中的特定模板是ASP.NET Core Web应用程序(.NET Framework))。 当我在运行API的同一台计算机上使用本地主机地址(在我的例子中,localhost:59475/API/是URL)从浏览器连接到API时,它工作

我正在尝试将我的Xamarin.Forms移动应用程序连接到我在本地计算机上托管的RESTful API。对于Xamarin.Forms移动应用程序和API,我都使用Visual Studio,对于API,我使用ASP.NET Core(Visual Studio中的特定模板是ASP.NET Core Web应用程序(.NET Framework))。
当我在运行API的同一台计算机上使用本地主机地址(在我的例子中,localhost:59475/API/是URL)从浏览器连接到API时,它工作正常。在将我的移动应用程序连接到API之前,我首先尝试从同一网络上的其他计算机连接到API,到目前为止我还没能成功。到目前为止,我尝试了以下操作-运行cmd命令
netsh http add urlacl url=http://*:59475/user=everyone
(以及我认为可以使用其他端口的其他类似命令),然后添加入站防火墙规则以允许该端口上的所有连接。然后,我尝试通过将地址中的“localhost”替换为运行该API的计算机的IP,从网络上的其他计算机连接到该API,并且在连接时收到HTTP 503错误。实际上,当我试图从VisualStudio运行API时,它显示了一个错误

无法连接到web服务器“IIS Express”

“撤消”netsh http命令(netsh-http-delete-urlacl…)使它再次像最初一样工作(同样,只能使用我的浏览器从同一台计算机连接到它)。我不知道如何使它工作,希望得到帮助,请!:)

尝试以下操作:

  • 显式添加外部IP
    netsh http add urlacl url=http://192.168.0.6:60985/ 用户=所有人

  • 在API解决方案文件夹的根目录中打开“.vs/config/applicationhost.config”文件(.vs在默认情况下是隐藏的)

  • 在bindings部分,向外部地址添加一个新的绑定
    ,注意要向哪个站点添加绑定,因为可能有多个绑定

  • 注意:示例端口60985您的端口可能不同检查api 示例IP:192.168.0.6,更改为您的实际外部IP地址

    您可能希望禁用防火墙进行测试,然后当您确认它工作时,启用它并添加异常规则

    我也遇到了同样的问题。 我用神奇的传送带扩展解决了这个问题。

    遵循他们网站上的指南。
    在netcore中,首先禁用SSL(project property=>debug)

    @AlexanderMarkovski似乎在我执行命令netsh http add urlacl等后,“无法连接到web服务器'IIS Express'”的错误再次出现。@HarelDanieli 503通常发生在我提到的配置设置不正确的情况下。您在配置中输入了什么用于bidning?我按照您的说明将您输入的IP和端口替换为我的计算机的IP和API使用的端口。再次检查您在绑定中输入的内容是否与您为netsh命令设置的内容相匹配,禁用防火墙,重新启动vs,然后重试,我又试了一次,配置文件中已经有一个到本地主机的绑定,所以我试着用它和到IP的绑定,只用到IP的绑定(没有本地主机绑定),两次都是清理构建和重新启动vs,但都不起作用