Question

Quand je fais de mon programme sur ma machine win2k8 il fonctionne très bien, mais sur la victoire 2K3 il me donne cette erreur un message d'erreur

voici le code qui génère l'erreur »

WebClient wc = new WebClient(); 
wc.DownloadFile("ftp://ftp.website.com/sample.zip");

il y a la partie bizarre. si je désactive complètement le pare-feu sur le serveur. l'erreur disparaît. mais il reste des erreurs si j'ajouter le programme à la liste des exceptions et activer le pare-feu.

ont recherche sur le Web pour les jours, n'a pas pu trouver une solution.

Était-ce utile?

La solution

Vous devriez essayer d'utiliser le mode passif pour FTP. La classe WebClient ne permet pas, mais FtpWebRequest fait.

FtpWebRequest request = WebRequest.Create("ftp://ftp.website.com/sample.zip") as FtpWebRequest;
request.UsePassive = true;
FtpWebResponse response = request.GetResponse() as FtpWebResponse;
Stream ftpStream = response.GetResponse();
int bufferSize = 8192;
byte[] buffer = new byte[bufferSize];
using (FileStream fileStream = new FileStream("localfile.zip", FileMode.Create, FileAccess.Write))
{
    int nBytes;
    while((nBytes = ftpStream.Read(buffer, 0, bufferSize) > 0)
    {
        fileStream.Write(buffer, 0, nBytes);
    }
}

Autres conseils

S'il vous plaît poster l'exception complète, y compris InnerException:

try
{
    WebClient wc = new WebClient(); 
    wc.DownloadFile("ftp://ftp.website.com/sample.zip");
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString()); // Or Debug.Trace, or whatever
    throw;    // As if the catch were not present
}

J'ai eu un problème similaire (pas ftp) et une autre solution

L'environnement de serveur de production avait été si sûr que le serveur n'a pas pu atteindre l'URL.

Test rapide est d'utiliser un navigateur sur la boîte et voyez si vous pouvez accéder à l'URL.

Espérons que cela aide quelqu'un.

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