0

我有一个将文件 FTP 到远程服务器的类,代码如下所示:

FtpWebRequest oFTPRequest = (FtpWebRequest)WebRequest.Create(sFTPServer + sTargetFolderAndFileName);
oFTPRequest.Method = WebRequestMethods.Ftp.UploadFile;
oFTPRequest.Credentials = new NetworkCredential(sFTPUserName, sFTPPassword);
oFTPRequest.UseBinary = true;

Stream requestStream = oFTPRequest.GetRequestStream();
// uploads file...

从开发环境运行时,一切正常,但是当我编译并放置到服务器上时,它失败并出现 FTP 错误“远程服务器返回错误:(530)未登录。”。

用户名、密码、ftp 服务器和路径信息都与在开发环境中运行的代码相同 - 所以我知道它们是正确的。

我能看到的唯一两个区别是: - 代码现在已编译 - 我的(开发)PC 是 Windows 7 64 位,目标服务器是 Windows 2003 32 位

全部使用 .NET 4.0 / VS2010

为什么它在一个而不是另一个上工作?

4

1 回答 1

0

我发现了问题。Windows 2003 Server 是小型企业服务器,部分配置使用与远程服务器 (domainname.com) 相同的名称 - 因此,当发送 FTP 请求时,它会自行循环并无法登录,而不是连接到远程服务器。

奇怪的是,Filezilla 没有遇到同样的问题。

于 2012-11-27T16:23:30.743 回答