Quando è necessario gestire il download di file di grandi dimensioni utilizzando un HttpHandler si può andare incontro a problemi di performance, causati dal fatto che il metodo WriteFile di HttpResponse copia in memoria il file prima di inviarlo al browser, come nello script #510.
Questa tecnica va bene per file che non siano molto grandi, ma quando si arriva a dimensioni considerevoli esiste la possibilità di utilizzare il metodo TransmitFile, che invece invia il contenuto del file a chunk senza copiarli in memoria, velocizzando di molto l'operazione e con un consumo minore di memoria
Response.AddHeader("content-disposition", "attachment; filename=" + file.FileName); Response.ContentType = contentType; Response.TransmitFile(filePath);
Approfondimenti
#510 Rendere sicuro il download di files con ASP.NET
https://www.aspitalia.com/script/510/Rendere-Sicuro-Download-Files-ASP.NET.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
- Selettore CSS :has() e i suoi casi d'uso avanzati
- Ottimizzare le performance usando Span<T> e il metodo Split
- Conoscere il rendering Server o WebAssembly a runtime in Blazor
- Supportare la sessione affinity di Azure App Service con Application Gateway
- Combinare Container Queries e Media Queries
- Potenziare la ricerca su Cosmos DB con Full Text Search
- Simulare Azure Cosmos DB in locale con Docker