【发布时间】:2012-11-27 14:56:01
【问题描述】:
我有一个 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
为什么它只适用于一个而不是另一个?
【问题讨论】:
-
简单问题,sFTPServer和编译后的代码是在同一台机器上吗?
-
不,FTP 服务器是(相同的)网络服务器,并且对两个位置都是远程的。
-
FTP 服务器有 IP 限制吗?也许您只有本地 IP 的权限?
-
不,我可以使用 FileZilla 从两个位置连接并在服务器上工作,完全没有问题。
标签: c# .net windows-7 ftp windows-2003-webserver