【发布时间】:2017-07-23 19:25:27
【问题描述】:
我有一个后台任务,它执行一个 http 请求,但只工作了很少的次数。返回的错误是:“无法解析服务器名称或地址”。如果我从主应用程序执行,该 url 是正确的并且工作正常。
代码是一个带有“HttpClient”的简单http请求:
public async void Run(IBackgroundTaskInstance taskInstance)
{
_deferral = taskInstance.GetDeferral();
try
{
using (var client = new HttpClient())
{
var c = await client.GetStringAsync("http://www.google.com");
}
}
catch (Exception e)
{
}
finally
{
_deferral.Complete();
}
}
正如我所说,相同的网址有时有效,有时无效,是的,我在每次请求之前检查互联网连接。 请问有什么想法吗?
这里是带有一个测试应用程序的 repo 演示了这个问题:https://github.com/CabuxaMapache/BackgroundTask.Test
已编辑 2: 我在 Lumia 640 中测试了该应用程序,结果相同,执行了 100 多次,其中只有 10 次正常。这是L640的信息:
提前致谢
【问题讨论】:
-
您要连接的地址是公共地址(例如 google),还是您的专用网络中的地址?
-
这是一个公共地址
-
是否检查过其他 URL 是否具有相同的结果,有时有效,有时无效?什么是后台任务触发器?如果方便,请分享minimal reproducible example?
-
是的,我检查了不同的网址,结果相同。后台触发器是设置为 15 分钟的“TimeTrigger”。
标签: background uwp windows-10-universal