【发布时间】:2017-02-27 16:42:55
【问题描述】:
我正在使用 Xamarin.Forms 和可移植类库构建应用程序。 我尝试做一个返回 JSON 的 API 调用。在通用 Windows 平台上运行项目时遇到问题。 这是引发错误的代码:
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()
当我使用相同的代码但使用其他 URL 时,它运行良好:
wc.GetStringAsync("http://something.localhost.companyname.local/content-api/Category/?format=json");
代码可以在 Android 上运行,但不能在通用 Windows 平台上运行。 为什么上面的代码(没有本地主机)不能在 UWP 上运行?
我只是从 localhost 更改为其他 URL。访问非本地主机 URL(在我的特定情况下)的唯一要求是您连接到正确的网络(与托管网站的位置相同)。
【问题讨论】:
-
你看这篇文章了吗? stackoverflow.com/a/39317424/361100 无论如何,阻塞非环回很奇怪。阻止环回是可以理解的。
-
您是否向您的 UWP 应用添加了所需的功能? (msdn.microsoft.com/en-us/windows/uwp/packaging/…)
-
@Krumelur,是的,我已经检查了能力:互联网(客户端)和互联网(客户端和服务器)
-
@Youngjae 我阅读了帖子及其链接,但我仍然无法解决问题..
标签: c# http xamarin xamarin.forms uwp