2011-06-06 105 views
2

我有一个应用程序可以通过FTP连接到IBM大型机,并且所有工作都正常。然后,我重新编译为.NET 4,并且大型机不再接受文件,该文件给了我一个错误消息,指出该文件不存在,或者我没有权限。FTPWebRequest .NET 3.5 vs 4

这是我用它来发送文件:

Ftp = (FtpWebRequest)FtpWebRequest.Create(FtpAddress + "%2F'" + "EM.MOM.FIMSDATA" + ".AA." + "RR(+1)" + "'"); 

了Microsoft .NET变化3.5和4之间的任何东西,因为这指向一个框架的变化?

+0

我知道肯定是有其固定在4.0与主动FTP 3.5中的一个错误的FTP框架已更改。你是否工作被动或主动? – Gilad 2011-06-06 11:16:57

+0

UsePassive = true; UseBinary = false; – Jon 2011-06-06 11:19:55

+0

有没有关于这个版本之间的差异的任何文档? – Jon 2011-06-06 11:24:47

回答

1

我在微软找到了这个。

这个问题的原因是由于在.Net框架中 System.Net.FtpWebRequest类行为改变4.一直有 变化从.net到System.Net.FtpWebRequest类制成框架 3.5到.Net Framework 4来简化CWD协议命令的使用。 System.Net.FtpWebRequest类 的新实现可防止在发出用户请求的实际命令 之前发送额外的CWD命令,而是直接发送请求的命令 。对于完全符合RFC的FTP服务器,这应该是 不成问题,但是对于非完全符合RFC的服务器,您将会在 中看到这些类型的错误。

解决方案是: http://support.microsoft.com/kb/2134299

相关问题