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 に答える