背景:我有一个Xamarin.Android应用程序,它连接到一个WebAPI来获取不同的信息。
问题:尝试访问服务器时,出现以下错误:
System.Net.Http.HttpRequestException:发送请求时发生错误---〉System.Net。WebException:错误:ConnectFailure(没有到主机的路由)
问题上下文:我们在同一网络中有2台服务器,配置相同(至少我们希望如此,在客户端站点),如果我们使用相同的应用程序(相同的构建),我们可以连接到服务器A,但在连接到B时出现上述错误。关于B服务器:我可以从设备浏览器访问http://address/help或/token页面,我也可以从Google Play的“REST Api Client”执行所需的请求并获得成功响应。唯一的问题似乎是从我们的应用连接到服务器B时出现的问题。这个问题在我们的环境中也不存在(如我所提到的,A和B位于客户端站点)。
问:问题是什么?我们应该在哪里进一步研究?
谢谢你,谢谢你
3条答案
按热度按时间qhhrdooz1#
我在Xamarin表单上找到了这个答案,这并没有解决我的问题,但也许它可以帮助你。https://forums.xamarin.com/discussion/70731/connection-error-no-route-to-host-only-happens-on-android
我遇到这个问题是因为我没有处理我的HttpClient对象。第一个或第二个请求没有出现这个问题,但是从第10个请求开始,它就开始给我带来问题。特别是当它们异步发生的时候。
我不知道这能不能解决你的问题,因为这两个都是特例,也许你的也是特例。
bsxbgnwa2#
首先检查移动的设备是否能够访问API服务器。这完全与网络问题有关。可能是您的移动应用程序和Web服务器使用了不同的LAN连接或WIFI网络。
weylhg0b3#
I had same issue, fixed it by enabling fast deployment:
In solution explorer, right click on 'yourproject.Android' -> 'Properties' -> 'Android Options' -> check 'Use Fast Deployment'
In my case, the problem occured only when running the application through the Visual Studio 'Run' button (I used a physical device to debug on).