Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    177

    Download File System.OutOfMemoryException

    Salve a tutti,
    sto scaricando un file di 400Mb con questa routine:


    fileStream = new FileStream(strFileDownload, FileMode.Create, FileAccess.ReadWrite);

    // Creating an instance of a WebClient
    req = new WebClient();
    // Creating an instance of a credential cache,
    // and passing the username and password to it
    CredentialCache cache = new CredentialCache();
    cache.Add(new Uri(strDownloadURL), "Basic", new NetworkCredential(strUser, strPWD));
    req.Credentials = cache;
    Byte[] fileData = req.DownloadData(strDownloadURL);

    fileStream.Write(fileData, 0, fileData.Length);

    a volte ottengo l'errore: System.OutOfMemoryException

    Come posso ovviare al problema?

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    due cose:
    1 dal codice che hai postato sembra che il filestream non lo usi come si conviene e cioè dentro la using.
    2 Anche se fai le cose a modo è normale che a volte vai in outofmemory:stai leggendo 400mb tutti d'un colpo.

    O usi DownloadFile di webclient invece che downloadData (personalmente mai usato) oppure usi WebRequest e WebResponse invece che webclient per leggere il file a pezzi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    177
    si, effettivamente è che scaricavo il file tutto insieme, con DownloadFile è ok.

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.