2012-11-27 68 views
0

我有FTPS文件到遠程服務器類,代碼如下:的FtpWebRequest錯誤的Win7 64位VS Win2003的32位

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服務器和路徑信息都與開發環境中運行的代碼相同 - 所以我知道它們是正確的。

只有兩個區別我可以看到的是: - 該代碼現在編譯 - 我的(DEV)PC是Windows 7的64位和目標服務器是Windows 2003的32位

所有使用.NET 4.0/VS2010

爲什麼它在一個而不是另一個上工作?

+0

簡單的問題是,sFTPServer在編譯代碼的同一臺機器上? –

+0

不,FTP服務器是(相同的)網絡服務器,並且對這兩個位置都是遠程的。 –

+0

FTP服務器中是否有IP限制?也許你只有在你本地IP的許可? –

回答

0

我發現了這個問題。 Windows 2003 Server是Small Business Server,是與遠程服務器(domainname.com)使用相同名稱的配置的一部分 - 因此,當發送FTP請求時,它將自行循環並且無法登錄,而不是連接到遠程服務器。

奇怪的是,Filezilla沒有遇到同樣的問題。