2013-03-06 81 views
1

我構建了一個控制檯應用程序,用於從遠程FTP讀取和移動文件。 在將代碼部署到生產環境之前,一切都順利進行。在遠程FTP上移動文件時出錯

當我連接到FTP時,我要求的第一件事是在兩種環境中工作的listDirectory。之後,我嘗試從根移動文件,但只能在開發環境中使用!? 在生產中我得到以下錯誤代碼:「遠程服務器在處理返回一個錯誤(451)局部錯誤」

下面是移動一個文件中的代碼:

var uri = new Uri("ftp://ftp.example.com/test.xml"); 
var request = (FtpWebRequest)WebRequest.Create(uri); 

request.Credentials = new NetworkCredential(_username, _password); 
request.UsePassive = true; 
request.Method = WebRequestMethods.Ftp.Rename; 
request.RenameTo = "/folder/test.xml"; 

(FtpWebResponse)request.GetResponse(); 

還要提到的是我'能夠通過使用命令行來移動在生產文件:

FTP ftp.example.com

ü sername:.....

密碼:......

命名的test.xml /folder/test.xml

250文件被成功重命名或移動

我有跑出想法,所有的幫助表示讚賞!

PS。我在兩個環境中使用相同的憑據連接到相同的FTP主機,我也可以在兩種環境中讀取文件。

+0

選中此項:http://stackoverflow.com/questions/3035610/unable-to-rename-file-with-ftp-methods-when-current-user-directory-is-different – 2013-03-06 10:11:58

回答

0

我有同樣的問題。在我們的例子中,它是.Net Framework的版本。已安裝4.0的服務器得到了「(451)本地錯誤處理中」的錯誤。那些有4.5。安裝運行沒有問題。所以我們在我們的應用服務器上安裝了.Net Framework 4.5,解決了這個問題。