Проведение сеанса при подключении к FTP-серверу С#

Я работаю над приложением, которое загружает и загружает несколько файлов с FTP-сервера. Моя проблема в том, что каждый раз, когда я хочу загрузить один файл, мне нужно подключиться к FTP-серверу и проверить сертификаты. Это код, который выполняется каждый раз, когда используется метод загрузки или загрузки.

reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp:...../inbox/" + fileName));
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
reqFTP.UsePassive = true;
reqFTP.UseBinary = true;
reqFTP.KeepAlive = true;
reqFTP.ServicePoint.ConnectionLimit = files.Length;
reqFTP.Credentials = new NetworkCredential("username", "password");
reqFTP.EnableSsl = true;
ServicePointManager.ServerCertificateValidationCallback = Certificate;

Есть ли способ создать соединение ТОЛЬКО ОДИН РАЗ и провести сеанс с необходимыми сертификатами??


person Lahib    schedule 27.09.2012    source источник


Ответы (1)


Если вы добавите эту строку в точку входа вашего приложения, вы решите свою проблему с сертификатом:

System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);

После этого вы просто думаете о том, как скачать/закачать файлы и забыть о проверке сертификата. Надеюсь это поможет.

person Nikola Crnomarkovic    schedule 27.09.2012
comment
Спасибо за помощь. Но нет ли другого способа избежать запуска всех этих строк кода более одного раза? - person Lahib; 27.09.2012
comment
Почему у dont you create some method so you can call it when you need? In that case youll меньше строк. P.S. В любом случае, вы должны прочитать это, когда у вас будет время. Я думаю, что гораздо удобнее работать с ftp: winscp.net/eng/docs/library< /а> - person Nikola Crnomarkovic; 27.09.2012
comment
Я ценю помощь. тогда я немного почитаю. еще раз спасибо! - person Lahib; 27.09.2012