2011-06-06 3 views
2

J'ai une application qui fait une connexion FTP à un ordinateur central IBM et tout a fonctionné correctement. J'ai ensuite recompilé contre .NET 4 et le mainframe n'accepte plus le fichier me donnant un message d'erreur indiquant que le fichier n'existe pas, ou que je n'ai pas la permission pour cela.FTPWebRequest .NET 3.5 vs 4

C'est ce que je l'utilise pour envoyer le fichier:

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

Microsoft a-changé quoi que ce soit entre 3,5 et .NET 4 parce que cela indique un changement de cadre?

+0

Je sais pour sûr que le cadre FTP a été changé car il y avait un bug avec ftp actif dans 3,5 qui a été fixé à 4,0. Travaillez-vous passif ou actif? – Gilad

+0

UsePassive = true; UseBinary = false; – Jon

+0

Y at-il une documentation sur les différences dans cette classe entre les versions? – Jon

Répondre

1

J'ai trouvé ceci sur Microsoft.

La cause de ce problème est dû à un changement de comportement dans la System.Net.FtpWebRequest classe .Net Framework 4. Il y a eu une modification apportée à la classe System.Net.FtpWebRequest de .Net Framework 3.5 .NET Framework 4 pour rationaliser l'utilisation des commandes de protocole CWD. La nouvelle implémentation de la classe System.Net.FtpWebRequest empêche l'envoi de commandes CWD supplémentaires avant d'émettre la commande réelle demandée par l'utilisateur et envoie directement la commande demandée . Pour les serveurs FTP entièrement compatibles RFC, cela ne devrait pas poser de problème, mais pour les serveurs non entièrement compatibles RFC, vous verrez ces types d'erreurs.

Solution est: http://support.microsoft.com/kb/2134299

Questions connexes