Forums Neueste Beiträge
 

(FtpWebRequest && mehrere Dateien) || (WebClient && UploadProgressChanged)

08/10/2007 - 20:42 von RalfWeb1 | Report spam
Hallo NG,

ich habe ein Problem bei der Entwicklung eines FTP-Upload-Tools.

1. Angefangen habe ich mit FtpWebRequest. Damit habe ich einen Upload
realisiert. Nun moechte ich jedoch mehrere Dateien nacheinander
hochladen.
Die Dateien direkt hintereinander in einer Methode per
request.BeginGetRequestStream zu starten funktioniert nicht. Ich
bekomme eine Exception "ProtocolViolation" und die Verbindung wird
unterbrochen.
Ich habe nun versucht den 2.Upload zu starten am Ende der Callback-
Methode von request.BeginGetResponse. Es tritt jedoch der gleiche
Fehler auf.
Ich suche also ein Event welches autritt wenn der Upload zu Ende ist,
damit ich den naechsten starten kann.
Gibt es ein solches Event?
Welche Moeglichkeit habe ich sonst noch nach dem Ende eines Uploads
eine Akion auszufuehren?

2. Da ich mit FtpWebRequest nicht weitergekommen bin, habe ich
gegoogelt und bin auf WebClient gestoßen. Also versuchte ich es damit.
Der Upload ist ja ziemlich simpel damit.
Das Problem: ich moechte auch relativ große Dateien uploaden und
dafuer eine ProgressBar einbinden.
Wenn ich das Event UploadProgressChanged verwende wird dieses gleich
zum Start des Uploads ausgefuehrt
und
BytesSent = TotalBytesToSend !!??
(Ich habe zuerst UploadDataSync verwendet und dann auch
UploadFileAsync versucht.)
Habe nun gelesen, dass es an dem Schichtenmodell liegt. Die
Applikation hat die Daten schon weggeschickt und daher wird das Event
gleich ausgeloest. Die unteren Schichten jedoch uebertragen erst noch
die Daten. Leider gab es in diesem Thread dann keine Antwort darauf
wie man den Ablauf der unteren Schichten ueberwacht.
Wie kann ich nun unter Verwendung von WebClient eine ProgressBar
einbauen bzw. wozu ist dieses Event dann gut wenn es so nicht
funktioniert? Wo liegt mein Denkfehler?

Habe es auch mit UploadFileAsync versucht wie im Bsp.von MSDN. Selbes
Problem...
Auch UploadFileCompleted wird gleich nach dem Start des Uploads
ausgefuehrt!?

Verstehe nicht wie das Bsp.aus MSDN (http://msdn2.microsoft.com/de-de/
lib...ed(vs.80).aspx) von UploadProgressChanged funktionieren soll
wenn das so ist?
Gibt es da einen Unterschied zwischen einem Consolen- zu
Windowsprogramm?

Vielen Dank schon mal für eure Hilfe!

Grueße aus Sachsen, Ralf...
 

Lesen sie die antworten

#1 RalfWeb1
09/10/2007 - 17:59 | Warnen spam
On 8 Okt., 20:42, wrote:
Hallo NG,

ich habe ein Problem bei der Entwicklung eines FTP-Upload-Tools.

1. Angefangen habe ich mit FtpWebRequest. Damit habe ich einen Upload
realisiert. Nun moechte ich jedoch mehrere Dateien nacheinander
hochladen.
Die Dateien direkt hintereinander in einer Methode per
request.BeginGetRequestStream zu starten funktioniert nicht. Ich
bekomme eine Exception "ProtocolViolation" und die Verbindung wird
unterbrochen.
Ich habe nun versucht den 2.Upload zu starten am Ende der Callback-
Methode von request.BeginGetResponse. Es tritt jedoch der gleiche
Fehler auf.



Ohne die Callback-Methoden funktioniert es wunderbar.
Also nur "GetRequestStream()"...

greetz...

Ähnliche fragen