使用非本地主机(PCL)时Xamarin UWP HttpRequestException

时间:2016-10-18 12:00:51

标签: c# http xamarin xamarin.forms uwp

我正在使用Xamarin.Forms和一个可移植类库构建一个应用程序。 我尝试做一个返回JSON的API调用。在Universal Windows Platform上运行项目时遇到问题。 这是抛出错误的代码:

using (HttpClient wc = new HttpClient())
{
   var data = await wc.GetStringAsync("http://something.e1923.companyname.local/content-api/Category/?format=json");

这是错误:

  

抛出异常:mscorlib.ni.dll中的'System.Net.Http.HttpRequestException'      在System.Net.Http.HttpClientHandler.d__1.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()      在Somethoing.RESTConnection.d__4.MoveNext()

当我使用相同的代码但使用其他网址时,它完美无缺:

wc.GetStringAsync("http://something.localhost.companyname.local/content-api/Category/?format=json");

该代码适用于Android,但不适用于通用Windows平台。 为什么上面的代码(没有localhost)无法在UWP上运行?

我只是从localhost更改为其他URL。访问非本地主机URL(在我的特定情况下)的唯一要求是您连接到正确的网络(与托管网站的位置相同)。

1 个答案:

答案 0 :(得分:0)

Krumeler 在评论中问我是否在我的UWP应用中添加了所需的功能,所以我一直在寻找。

我没有检查过的是:专用网络(客户端和服务器)。

这是需要检查的。它现在有效,谢谢!