RestSharp sta caricando l'intero file in memoria durante il caricamento. Come evitarlo?
Domanda
Sto usando RestSharp in un progetto mono per caricare alcuni file e ho notato che quando viene caricato un file di grandi dimensioni, la memoria cresce sostanzialmente.
Guardando Codice sorgente RESSHARP Ho notato che FileParameter si aspetta un array di byte, il che significa che sta davvero caricando il file in memoria.
Sto facendo qualcosa di sbagliato? C'è un modo per il riposo non fare questo? Potrei caricare file davvero grandi, quindi caricarli dalla memoria non è un'opzione.
Qualsiasi aiuto (incluso dirmi di utilizzare un'altra libreria HTTP disponibile su Mono) è il benvenuto.
Soluzione 2
E ho rinunciato dopo aver trovato questa linea, quindi i corpi di richiesta vengono sempre caricati in memoria, il che è sfortunato, quindi ho creato una soluzione semplice per eseguire caricamenti di file in base al codice da questa domanda e dal debug del Libreria Apache HttpClient.
Nel caso in cui qualcuno sia interessato, la fonte è disponibile qui.
Altri suggerimenti
Utilizzare il AddFile(name, writer, filename)
sovraccarico.
Per il writer
parametro, passare un Action<Stream>
Ciò scrive direttamente al flusso del corpo della richiesta. Non chiudere il flusso.