MSDN-Beispiel für async / await - kann ich nach dem await-Aufruf den Haltepunkt nicht erreichen?

Wenn ich das Beispiel von MSDN für async / await ausprobiere, warum kann ich nach dem await-Operator keinen Haltepunkt erreichen?

private static void Main(string[] args)
{
    AccessTheWebAsync();
}

private async Task<int> AccessTheWebAsync()
{ 
    // You need to add a reference to System.Net.Http to declare client.
    HttpClient client = new HttpClient();

    // GetStringAsync returns a Task<string>. That means that when you await the
    // task you'll get a string (urlContents).
    Task<string> getStringTask = client.GetStringAsync("http://msdn.microsoft.com");

    // You can do work here that doesn't rely on the string from GetStringAsync.
    /*** not relevant here ***/
    //DoIndependentWork();

    // The await operator suspends AccessTheWebAsync.
    //  - AccessTheWebAsync can't continue until getStringTask is complete.
    //  - Meanwhile, control returns to the caller of AccessTheWebAsync.
    //  - Control resumes here when getStringTask is complete. 
    //  - The await operator then retrieves the string result from getStringTask.
    string urlContents = await getStringTask;

    // The return statement specifies an integer result.
    // Any methods that are awaiting AccessTheWebAsync retrieve the length value.
    return urlContents.Length;
}

Mein Verständnis ist, dass das Warten ein Konstrukt ist, das den asynchronen Fluss vom Entwickler abstrahiert und ihn / sie so lässt, als würde er / sie synchron arbeiten. Mit anderen Worten, im obigen Code ist es mir egal, wie und wann dasgetStringTask beendet, ich kümmere mich nur darum, dass es beendet und seine Ergebnisse verwendet. Ich würde dann erwarten, dass ich irgendwann nach dem Warteaufruf den Haltepunkt erreichen kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage