Le serveur a renvoyé une adresse en réponse à la commande PASV qui est différente de l'adresse à laquelle la connexion FTP a été faite

Système.Net.WebException: Le serveur a renvoyé une adresse en réponse à la commande PASV qui est différente de l'adresse à laquelle la connexion FTP a été faite.
au Système.Net.FtpWebRequest.CheckError()
au Système.Net.FtpWebRequest.SyncRequestCallback(Object obj)
au Système.Net.CommandStream.Abort(Exception e)
au Système.Net.FtpWebRequest.FinishRequestStage(RequestStage scène)
au Système.Net.FtpWebRequest.GetRequestStream()
au BackupDB.Programme.FTPUploadFile(String serverPath, Chaîne serverFile, FileInfo LocalFile, NetworkCredential Cred) D:\PROJEKTI\BackupDB\BackupDB\Program.cs:line 119

code:

FTPMakeDir(new Uri(serverPath + "/"), Cred);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPath+serverFile);
request.UsePassive = true;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = Cred;
byte[] buffer = new byte[10240];    //Read/write 10kb

using (FileStream sourceStream = new FileStream(
    LocalFile.ToString(), FileMode.Open))
{
    using (Stream requestStream = request.GetRequestStream())
    {
        int bytesRead;
        do
        {
            bytesRead = sourceStream.Read(buffer, 0, buffer.Length);
            requestStream.Write(buffer, 0, bytesRead);
        } while (bytesRead > 0);
    }
    response = (FtpWebResponse)request.GetResponse();
    response.Close();
}

OriginalL'auteur senzacionale | 2010-04-25