访问localhost(Xamarin)

时间:2016-10-25 12:37:01

标签: android asp.net xamarin signalr

我想使用SignalR在我的Android应用程序中实现聊天,我从asp.net下载此示例: https://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr 但我无法通过HubConnection使用localhost访问它。我尝试使用我的IP地址和端口号,但它无法正常工作。有没有人有这方面的经验?

谢谢!

1 个答案:

答案 0 :(得分:2)

假设您的应用服务器是IIS Express,由于网络限制甚至防火墙,它默认不起作用。

首先,正如您已经意识到的那样,客户端需要连接您的计算机IP,而不是localhost。像http://x.x.x.x:port/signalr

这样的东西

然后,您需要确保可以通过手机或模拟器访问您的计算机:打开手机中的浏览器并输入已知地址,例如http://x.x.x.x:port/somethingThatExists

如果该网址不可用:

  1. 尝试禁用防火墙
  2. 在运行IIS-Express的计算机上打开powershell并运行:netsh http add urlacl url=http://{your server ip}:{port}/ user=everyone。 (如果你的系统语言不是英语,例如:西班牙语,将“everyone”改为“todos”)

  3. 在目录解决方案applicationhost.config中打开文件Solution/.vs/config/applicationhost.config,然后搜索应用程序xml节点。像<site name="YourAppName" id="1">...</site>这样的东西。默认情况下,您会看到localhost绑定。添加一个新的实际IP:<binding protocol="http" bindinginformation="*:port:x.x.x.x"></binding>(确保ip /端口正确。即:*:57457:192.168.0.57

  4. 重新启动IIS Express并重试(无需重启系统)