0

我一直在开发一个从 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;

有没有办法只创建一次连接,并使用所需的证书进行会话?

4

1 回答 1

1

如果将此行添加到应用程序的入口点,您将解决证书问题:

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

之后,您只需考虑如何下载/上传文件而忘记检查证书。希望这可以帮助。

于 2012-09-27T07:17:59.657 回答