\\ Home Page : Articolo : Stampa
Parallelizzazione con Async in .NET Framework 4.5
Di Marco Tenuti (del 01/11/2012 @ 14:05:16, in .NET Framework, linkato 3318 volte)

Arriva in .NET Framework 4.5 la possibilità di scrivere codice molto più compatto nella gestione di codice asincrono grazie alle keyword async e await.

Questa novità sarà disponibile per C# 5.0 e per VB 11, dentro Visual Studio .NET 2012.

async void OpenWebPage() 
{
	WebClient client = new WebClient();
	string html = await client.DownloadStringTaskAsync(new Uri("http://www.tencas.com/blog"));
	this.content.Text = html; 
}

Prima invece eravate più o meno costretti a scrivere due funzioni e a ricorrere ad un handler per la gestione dell'evento asincrono. In realtà è la TPL (Task Parallel Library) a farsi carico dello sdoppiamento del corpo dell'unica funzione in due funzioni separate, ma meno codice si scrive e più tempo si ha per altre cose.

void OpenWebPage() 
{
	WebClient client = new WebClient();
	client.DownloadStringCompleted += client_DownloadStringCompleted; 
	client.DownloadStringAsync(new Uri("http://www.tencas.com/blog"));
}

void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
	string html = e.Result;
	this.content.Text = html;
}