Se avete sviluppato qualche app per Windows 8 sapete che è possibile utilizzare una nuova classe chiamata System.Net.Http.HttpClient, che consente di lavorare con delle risorse di rete a cui inviare richieste e che offre by design alcuni metodi asincroni da poter usare col pattern Async/Await.
In Windows Phone 8, invece, tale classe non è disponibile per cui se, come me, dovete fare il porting di un'app da Windows 8 a Windows Phone 8 dovete fare alcune modifiche.
In primo luogo si può tornare ad usare la vecchia classe System.Net.WebClient. Questa, però, nativamente non ha dei metodi asincroni che supportano il pattern Async/Await. Allora ci può tornare utile un pacchettino scaricabile con NuGet, di cui parlammo in questo precedente post, chiamato Async for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5. Per quanto riguarda Windows Phone 8, che non avrebbe bisogno di tutto il pacchetto, la descrizione dello stesso specifica che con questo sistema è possibile usare Async/Await con le classi di networking. Aprendo il manager dei pacchetti:

Una volta installato in un progetto Windows Phone 8, è possibile scrivere codice come il seguente, cosa altrimenti non possibile:
Dim client As New WebClient
Dim doc = Await client.DownloadStringTaskAsync("http://something.com/myfile.xml")
Decisamente una gran bella opportunità.
Alessandro