Parallelizzazione con Async in .NET Framework 4.5
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;
}
|