Entwicklung

async und await in .NET 4.5

Dieser Artikel ist älter als zwei Jahre und womöglich veraltet!

Da ich erst jetzt dazu kam das neue Visual Studio Express 2012 for Desktop zu installieren, nun eine kurze Erklärung der Schlüsselwörter async und await, wie sie im .NET-Framework 4.5 vorkommen.

Bis jetzt musste immer eine Callback-Funktion verwendet werden, wenn man beispielsweise Netzwerkanfragen senden will, um die Benutzeroberfläche nicht einfrieren zu lassen. Mit den beiden Schlüsselwörtern ist es nun endlich möglich auf die Antwort der Anfrage zu warten.

Beispielsweise funktioniert es mit dem folgenden Code einen String asynchron herunterzuladen:

private async String getData(){
	WebClient client = new WebClient();
	return await client.DownloadStringAsync("http://example.org");
}

Mit dem Schlüsselwort async deklariert man die Funktion als asynchron und stellt das Wort await vor die Aktion, auf die gewartet werden soll.