Ich habe die Möglichkeit implementiert, die Klasse FtpWebRequest
in C # hochzuladen, herunterzuladen, zu löschen usw. Das ist ziemlich geradlinig.
Was ich jetzt tun muss, ist das Senden von willkürlichen FTP-Befehlen wie
%Vor% Hier ist eine Beispielkonfiguration direkt von unserem app.config
:
Ich untersuche immer noch, wie man dies mit FtpWebRequest
macht. Ich werde wahrscheinlich WebClient
klasse als nächstes versuchen. Kann mir jemand schneller in die richtige Richtung zeigen? Danke!
UPDATE:
Ich bin zu der gleichen Schlussfolgerung gekommen, da .NET Framework 3.5 FtpWebRequest
nichts unterstützt, außer was in WebRequestMethods.Ftp.*
. Ich werde eine Drittanbieter-App ausprobieren, die von einigen der anderen Posts empfohlen wird. Danke für die Hilfe!
Ich glaube nicht, dass dies mit FtpWebRequest
... möglich ist. Die einzige Möglichkeit, einen FTP-Befehl anzugeben, ist die Eigenschaft Method
, und in der Dokumentation steht:
Beachten Sie, dass die in der Klasse
WebRequestMethods.Ftp
definierten Zeichenfolgen die einzigen unterstützten Optionen für die EigenschaftMethod
sind. Wenn Sie dieMethod
-Eigenschaft auf einen anderen Wert setzen, wird eineArgumentException
-Ausnahme ausgelöst.
SITE und SYST gehören nicht zu den vordefinierten Optionen, also denke ich, dass du feststeckst ...
Verschwenden Sie keine Zeit, um die Klasse WebClient
auszuprobieren. Sie erhalten dadurch noch weniger Flexibilität als FtpWebRequest
.
Allerdings gibt es viele FTP-Implementierungen von Drittanbietern, Open Source oder kommerzielle, und ich bin mir ziemlich sicher, dass einige von ihnen mit benutzerdefinierten Befehlen umgehen können ...
Die FtpWebRequest
wird dir nicht helfen Thomas Levesque hat in seinem answer . Sie können einige Lösungen von Drittanbietern oder den folgenden, vereinfachten TcpClient
-basierten Code verwenden, den ich von einem Antwort in Visual Basic geschrieben :
Sie können beim Durchlaufen des FTP folgenden Ablauf erwarten:
%Vor%Tags und Links c# ftp ftpwebrequest