RestSharp est de charger tout le fichier en mémoire lors du téléchargement.Comment l'éviter?

StackOverflow https://stackoverflow.com/questions/8988542

Question

Je suis en utilisant RestSharp dans un Mono projet de télécharger certains fichiers et j'ai remarqué que quand un gros fichier est téléchargé, le mémoire s'accroît considérablement.

En regardant RestSharp code source J'ai remarqué que FileParameter attend un tableau d'octets, ce qui signifie qu'il est vraiment de charger le fichier en mémoire.

Suis-je en train de faire quelque chose de mal?Est-il un moyen pour RestSharp de ne pas le faire?Je suis peut-être le téléchargement de vraiment de gros fichiers, donc, de les télécharger à partir de la mémoire n'est pas une option.

Toute aide (y compris de me dire d'utiliser un autre HTTP bibliothèque disponible sur mono) est la bienvenue.

Était-ce utile?

La solution 2

Et j'ai abandonné après avoir trouvé Cette ligne , de sorte que les corps de requête sont toujours chargés dans la mémoire, ce qui est malheureux, j'ai donc construit une solution simple pour effectuer des téléchargements de fichiers basés sur le code de Cette question et de déboguer le Apache httpClient Library .

Si quelqu'un est intéressé, la source est disponible ici .

Autres conseils

L'utilisation de la AddFile(name, writer, filename) la surcharge.

Pour l' writer paramètre, passer un Action<Stream> qui écrit directement sur le corps de la requête de flux.Ne pas fermer le flux de données.

Voici un exemple d'écriture dans le flux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top