0
votes

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.

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

'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'.

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

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()

1

1 Answers

2
votes

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

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