HttpClient GetAsync schlägt in der Hintergrundaufgabe unter Windows 8 fehl

Ich besitze eine Win RT-App mit einer Hintergrundaufgabe, die für den Aufruf einer API zum Abrufen von Daten verantwortlich ist, die zum Aktualisieren erforderlich sind. Ich bin jedoch auf ein Problem gestoßen; Die Anforderung zum Aufrufen der API funktioniert einwandfrei, wenn sie außerhalb der Hintergrundaufgabe ausgeführt wird. Innerhalb der Hintergrundaufgabe schlägt sie fehl und verbirgt auch alle Ausnahmen, die auf das Problem hinweisen könnten.

Ich habe dieses Problem über den Debugger verfolgt, um den Problempunkt zu verfolgen, und habe überprüft, ob die Ausführung in GetAsync gestoppt wird. (Die URL, die ich übergebe, ist gültig und die URL antwortet in weniger als einer Sekunde.)

var client = new HttpClient("http://www.some-base-url.com/");

try
{
    response = await client.GetAsync("valid-url");

    // Never gets here
    Debug.WriteLine("Done!");
}
catch (Exception exception)
{
    // No exception is thrown, never gets here
    Debug.WriteLine("Das Exception! " + exception);
}

In der gesamten Dokumentation heißt es, dass eine Hintergrundaufgabe so viel Netzwerkverkehr haben darf, wie sie benötigt (natürlich gedrosselt). Daher verstehe ich nicht, warum dies fehlschlagen würde, oder kenne keine andere Möglichkeit, das Problem zu diagnostizieren. Was vermisse ich?

UPDATE / ANTWORT

Dank Steven wies er den Weg zum Problem. Um sicherzustellen, dass die definierte Antwort da draußen ist, war hier die Hintergrundaufgabe vor und nach dem Fix:

Vor

public void Run(IBackgroundTaskInstance taskInstance)
{
    BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

    Update();

    deferral.Complete();
}

public async void Update()
{
    ...
}

Nach dem

public async void Run(IBackgroundTaskInstance taskInstance) // added 'async'
{
    BackgroundTaskDeferral deferral = taskInstance.GetDeferral();

    await Update(); // added 'await'

    deferral.Complete();
}

public async Task Update() // 'void' changed to 'Task'
{
    ...
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage