In Silverlight 5 è stato incluso un sottinsieme del Task Parallel Library presente nel .NET Framework 4.0, con questa libreria possiamo eseguire con grande semplicità operazioni multi-thread tra cui le chiamate HTTP che, come noto, in Silverlight possono essere gestite esclusivamente con il modello begin/end.
Grazie alla classe TaskFactory, esposta dalla proprietà Factory di Task, possiamo utilizzare il metodo FromAsync ed il metodo ContinueWith con la sintassi 'fluent' tipica dell'RX Framework.
Nell'esempio seguente possiamo vedere come sia semplificato il codice di una chiamata ad un file remoto grazie al Task Parallel Library.
string uri = "https://www.silverlightitalia.com/script/images/135.xml"; var request = WebRequest.Create(uri); Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null).ContinueWith(task => { string msg; var response = (HttpWebResponse)task.Result; using (var reader = new StreamReader(response.GetResponseStream())) { msg = reader.ReadToEnd(); } Dispatcher.BeginInvoke(() => MessageBox.Show(msg)); });
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Ottimizzazione dei block template in Angular 17
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Gestire domini wildcard in Azure Container Apps
Aggiungere interattività lato server in Blazor 8
Migliorare la sicurezza dei prompt con Azure AI Studio
Usare le collection expression per inizializzare una lista di oggetti in C#
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Migliorare l'organizzazione delle risorse con Azure Policy
Sostituire la GitHub Action di login su private registry
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
I più letti di oggi
- Effettuare il download di un file via FTP con la libreria FluentFTP di .NET
- Debug di app .NET tramite snapshot con Application Insight
- Utilizzare le Fullscreen API di HTML5 in IE11
- Proteggere l'accesso ad una Azure Web e API App tramite Google
- Utilizzare .NET Core con le Azure Function
- Effettuare il redirect da HTTP a HTTPS con la Azure CDN
- Creare un package MTS con uno script ASP
- Autenticazione con Minimal API di ASP.NET Core 6
- Routing HTTP con i proxy delle Azure Function
- Convidere una share di rete tra VM di Azure