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

Я работаю над приложением, которое загружает и скачивает несколько файлов с 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;

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам