2012-09-27 32 views
0

我一直在研究一個應用程序,從FTP服務器上傳和下載多個文件。我的問題是,每次我想下載一個文件,我需要連接到FTP服務器,並檢查證書。這是每次使用上傳或下載方法時運行的代碼。連接到FTP服務器時保持會話C#

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); 

之後,你只要想想如何下載/上傳文件和忘記檢查證書。希望這可以幫助。

+0

感謝您的幫助。但是有沒有其他方法避免不止一次運行這些代碼? – Lahib

+0

爲什麼不創建一些方法,以便在需要時調用它?在這種情況下,你的線路就會減少。 P.S.無論如何,當你有時間時,你應該閱讀。我認爲這是更方便的方式來使用FTP: http://winscp.net/eng/docs/library –

+0

我欣賞的幫助。然後我會做一些閱讀。再次感謝! – Lahib