在 Windows 10 移动版上运行的 Windows Phone 8.1 应用中的后台计时器任务中没有网络 [英] No networking in background timer task in Windows Phone 8.1 app running on Windows 10 Mobile

查看:23
本文介绍了在 Windows 10 移动版上运行的 Windows Phone 8.1 应用中的后台计时器任务中没有网络的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Windows Phone 8.1 应用程序在 Windows 10 移动版上运行良好,除非它尝试在后台定时任务中进行 http 调用.后台任务使用通用代码,当应用程序处于活动状态时它可以正常工作,因此代码可以正常工作,并且当应用程序处于活动状态时请求的 url 也可以正常工作.使用的 http 客户端是 Windows.Web.Http.HttpClient.

A windows phone 8.1 app is running fine on windows 10 mobile except when it tries to do a http call in a background timed task. The background task is using common code which works fine when the app is active, so the code works, and the requested url also works fine when the app is active. The http client used is Windows.Web.Http.HttpClient.

我怀疑可能缺少 Windows 10 移动版所需的声明.

I suspect there could be a missing declaration required for windows 10 mobile.

'backgroundTaskHost.exe'(CoreCLR:DefaultDomain):已加载'C:\windows\system32\mscorlib.ni.dll'.跳过加载符号.模块已优化并启用调试器选项仅我的代码".backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\Data\Programs{03B4FAD0-869C-11E4-A292-2935E87BC9D6}\Install\Imatis.Mobilix.BackgroundTask.winmd'.符号加载.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.RUNTIME.NI.DLL'.跳过加载符号.模块已优化,调试器选项仅我的代码"已启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\WinMetadata\Windows.winmd'.跳过加载符号.模块已优化,调试器选项仅我的代码"是启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.THREADING.TASKS.NI.DLL'.跳过加载符号.模块已优化,调试器选项仅我的代码"是启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\Data\Programs{03B4FAD0-869C-11E4-A292-2935E87BC9D6}\Install\Imatis.Mobilix.Library.DLL'.符号加载.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.DIAGNOSTICS.DEBUG.NI.DLL'.跳过加载符号.模块已优化,调试器选项仅我的代码"是启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.NI.DLL'.跳过加载符号.模块已优化并启用调试器选项仅我的代码".backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.COLLECTIONS.NI.DLL'.跳过加载符号.模块已优化,调试器选项仅我的代码"是启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\System.Runtime.WindowsRuntime.NI.DLL'.跳过加载符号.模块已优化,调试器选项只是我的"代码'已启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\Data\Programs{03B4FAD0-869C-11E4-A292-2935E87BC9D6}\Install\Newtonsoft.Json.DLL'.跳过加载符号.模块优化和调试器选项仅我的代码"已启用.'backgroundTaskHost.exe' (CoreCLR: .):加载C:\windows\system32\SYSTEM.RUNTIME.EXTENSIONS.NI.DLL".跳过加载符号.模块已优化,调试器选项只是我的"代码'已启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.THREADING.NI.DLL'.跳过加载符号.模块已优化,调试器选项仅我的代码"是启用.backgroundTaskHost.exe"(CoreCLR:.):已加载'C:\windows\system32\SYSTEM.RUNTIME.SERIALIZATION.PRIMITIVES.NI.DLL'.跳过加载符号.模块优化和调试器选项仅我的代码"已启用.'backgroundTaskHost.exe' (CoreCLR: .):加载C:\windows\system32\SYSTEM.RUNTIME.SERIALIZATION.NI.DLL".跳过加载符号.模块优化和调试器选项仅我的代码"已启用.'backgroundTaskHost.exe' (CoreCLR: .):加载C:\windows\system32\SYSTEM.CORE.NI.DLL".跳过加载符号.模块已优化,调试器选项仅我的代码"是启用.backgroundTaskHost.exe"(CoreCLR:.):匿名加载"托管的动态方法程序集'.

'backgroundTaskHost.exe' (CoreCLR: DefaultDomain): Loaded 'C:\windows\system32\mscorlib.ni.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\Data\Programs{03B4FAD0-869C-11E4-A292-2935E87BC9D6}\Install\Imatis.Mobilix.BackgroundTask.winmd'. Symbols loaded. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.RUNTIME.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\WinMetadata\Windows.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.THREADING.TASKS.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\Data\Programs{03B4FAD0-869C-11E4-A292-2935E87BC9D6}\Install\Imatis.Mobilix.Library.DLL'. Symbols loaded. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.DIAGNOSTICS.DEBUG.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.COLLECTIONS.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\System.Runtime.WindowsRuntime.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\Data\Programs{03B4FAD0-869C-11E4-A292-2935E87BC9D6}\Install\Newtonsoft.Json.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.RUNTIME.EXTENSIONS.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.THREADING.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.RUNTIME.SERIALIZATION.PRIMITIVES.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.RUNTIME.SERIALIZATION.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.CORE.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'backgroundTaskHost.exe' (CoreCLR: .): Loaded 'Anonymously Hosted DynamicMethods Assembly'.

抛出异常:mscorlib.ni.dll WinRT 中的System.Exception"信息:无法解析服务器名称或地址

Exception thrown: 'System.Exception' in mscorlib.ni.dll WinRT information: The server name or address could not be resolved

无法解析服务器名称或地址在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()在 Library.HttpHelper.d__2.MoveNext()

The server name or address could not be resolved at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at Library.HttpHelper.d__2.MoveNext()

推荐答案

找到了解决方案.Windows 10 移动版现在要求将 SystemCondition 添加到 BackgroundTaskBuilder.

Found the solution. Windows 10 Mobile now requires that a SystemCondition is added to the BackgroundTaskBuilder.

builder.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable));

这篇关于在 Windows 10 移动版上运行的 Windows Phone 8.1 应用中的后台计时器任务中没有网络的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆