Je continue de recevoir une exception lorsque j'essaie de transférer vers FTP mon serveur Win 2008 à partir du code C# en utilisant VS2008 comme débogueur.Définir le numéro de port lors de l'utilisation de FtpWebRequest en C#
Ma classe de test ressemble à ceci:
public class FTP
{
private string ftpServerIP = "192.168.10.35:21";
private string ftpUserID = "Administrator";
private string ftpPassword = "XXXXXXXX";
private string uploadToFolder = "uploadtest";
public void Upload(string filename)
{
FileInfo fileInf = new FileInfo(filename);
string uri = "ftp://" + ftpServerIP + "/" + uploadToFolder + "/" + fileInf.Name;
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.KeepAlive = false;
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UseBinary = true;
reqFTP.ContentLength = fileInf.Length;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
FileStream fs = fileInf.OpenRead();
try
{
Stream strm = reqFTP.GetRequestStream();
contentLen = fs.Read(buff, 0, buffLength);
while (contentLen != 0)
{
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
strm.Close();
fs.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
Lorsque j'exécute le code que je reçois une connexion échoué avec l'erreur FTP 227 dans l'appel GetRequestStream(). À l'exception, je peux voir la connexion ne parvient pas à: 192.168.10.35:52184
Je ne sais pas comment il se fait avec le port 52184. je précise dans le ftpServerIP qu'il devrait être le port 21.
J'ai trouvé quelques personnes avec les mêmes problèmes sur google mais je n'ai pas trouvé un bon exemple sur la façon dont cela est résolu et je ne comprends toujours pas pourquoi cela arrive.
Quelqu'un sait comment gérer ce problème?
MISE À JOUR:
J'ai essayé de se connecter à un autre compte FTP et là tout fonctionne très bien. Par conséquent, j'ai testé mon FTP 192.168.10.35:21 mais ça fonctionne très bien dans CuteFTP Pro et les goûts. Ceci est encore plus étrange ..
Je pense que je vois la différence, mais je n'arrive pas à passer de passif à actif, est-ce que quelqu'un a un bon guide pour cela? –