Scaricare file remoti di grandi dimensioni può richiedere un tempo piuttosto lungo, tale da incorrere nella sospensione dell'app.
In questo caso tutte le operazioni dell'app stessa vengono interrotte prima che il download sia completato.
In WinRT abbiamo la possibilità di eseguire questo tipo di operazioni in background grazie alla classe BackgroundDownloader, presente nel namespace Windows.Networking.BackgroundTransfer.
StorageFile file = await ApplicationData.Current.TemporaryFolder.CreateFileAsync("download.pdf", CreationCollisionOption.GenerateUniqueName); var downloader = new BackgroundDownloader(); DownloadOperation operation = downloader.CreateDownload(new Uri("http://repository.com/filedigrandidimensioni.pdf"), file);
Dopo aver creato il file destinatario del download è sufficiente creare l'istanza di BackgroundDownloader e richiamare il metodo CreateDownload specificando l'url della risorsa da scaricare.
Con CreateDownload il processo di download esce dal ciclo di vita dell'app e passa al sistema operativo, quindi sarà nostra cura monitorare il download e controllare lo stato del file, per poterlo utilizzare.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Potenziare la ricerca su Cosmos DB con Full Text Search
Aggiornare a .NET 9 su Azure App Service
Triggerare una pipeline su un altro repository di Azure DevOps
Utilizzare DeepSeek R1 con Azure AI
Creare una libreria CSS universale: Nav menu
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Generare un hash con SHA-3 in .NET
Configurare e gestire sidecar container in Azure App Service
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Usare le navigation property in QuickGrid di Blazor
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Escludere alcuni file da GitHub Secret Scanning
I più letti di oggi
- Beta 1 di VS 2005 Enterprise Architect
- Point-in-time restore con gli Azure Storage Blob
- Focus dei tag input con HTML5
- Il nuovo tag nav in HTML5
- Evitare la modalità di risparmio energetico in una Windows Store app
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- AI&ML Conference 2019 - Milano
- Mono 0.12: verso una nuova implementazione di ASP.NET