Devo attivare download utente di file di grandi dimensioni in un browser Web, in cui creo il file da trasferire sul server, quindi lo elimina subito dopo. Ho trovato abbastanza esempi per vedere che probabilmente dovrei usare Response.TransmitFile o Response.WriteFile ... ma ho sentito che ci sono problemi con entrambi:WriteFile vs TransmitFile per file di grandi dimensioni che devono essere eliminati dal server dopo il trasferimento
WriteFile è sincrono, ma memorizza il file in memoria prima di inviarlo per l'utente. Dato che ho a che fare con file molto grandi, questo potrebbe causare problemi.
TransmitFile non esegue il buffer locale, quindi funziona per file di grandi dimensioni, ma è asincrono, quindi non è possibile eliminare il file dopo aver chiamato TransmitFile. A quanto pare il flush del file non garantisce che posso eliminarlo?
Qual è il modo migliore per gestire questo?
C'è anche il BinaryWrite ... posso eseguire il looping di un flusso di file, copiandolo in segmenti?