1

我已经构建了一个控制台应用程序,可以从远程 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

用户名: .....

密码: .....

重命名 test.xml /文件夹/test.xml

250 文件重命名或移动成功

我的想法已经用完了,因此感谢所有帮助!

PS。我在两个环境中使用相同的凭据连接到同一个 FTP 主机,并且我还可以在两个环境中读取文件。

4

1 回答 1

0

我遇到过同样的问题。在我们的例子中,它是 .Net Framework 的版本。安装了 4.0 的服务器出现“(451) local error in processing”错误。那些有4.5的。安装运行没有问题。所以我们在我们的应用服务器上安装了 .Net Framework 4.5 并解决了这个问题。

于 2013-12-05T21:53:48.577 回答