Laden...

File Up-/Download

Erstellt von Savage vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.556 Views
S
Savage Themenstarter:in
100 Beiträge seit 2004
vor 12 Jahren
File Up-/Download

Hi Leute,

ich habe eine größere reine ASP.NET Anwendung. Ich stehe nun vor der Aufgabe, einen Windows-Client zu programmieren, welcher größere Dateien (>1GB) zwischen dem Client und dem Server übertragen soll.
Wie soll ich am besten die Dateiübertragung realisieren bzw. was eignet sich am Besten?
Serverseitig einfach Dateien über ashx Handler übertragen?
Oder Separat einen Socketserver machen?
Webservice?
Das ganze sollte auch über eine verschlüsselte Verbindung funktionieren.

Danke für jede Anregung.

16.807 Beiträge seit 2008
vor 12 Jahren

Da ist die Frage, wieso über die Anwendung und nicht via FTP.
Das Datenvolumen ist nicht ohne - auch HTTP ist dafür - eigentlich - nicht gedacht.

Ich bin in WebForms nicht so fit; aber ich meine da macht man alles über diese Handler.

S
Savage Themenstarter:in
100 Beiträge seit 2004
vor 12 Jahren

Da ist die Frage, wieso über die Anwendung und nicht via FTP.

Über FTP kann ich es deswegen nicht machen, weil ich serverseitig noch ein paar Aktionen mit dem File machen muss (projekt zuordnen > umbenennen, verschieben etc.)

16.807 Beiträge seit 2008
vor 12 Jahren

Du kannst den FTP-Zielpfad via FileSystemwatcher auf Aktionen überwachen.
Hier passiert am Anfang ein CREATE-, anschließend ein CHANGE-Event. Mit File.Open() kannst Du testen, ob der Upload fertig ist, wenn es längere Zeit(10 Sek?) keinen CHANGE mehr hab.

Naja. Natur der Sache ist eben hier, dass ein Upload über den Webserver nicht wirklich schnell ist. In Large File uploading to asp.net MVC wird zB auch ein Silverlight-Control vorgeschlagen, das das ganze umgeht.

Ansonsten siehe auch Large file uploads in ASP.NET. Aber diese Treffer kennst Du bereits aus der Google-Suche, die Du bestimmt schon genutzt hast.

S
Savage Themenstarter:in
100 Beiträge seit 2004
vor 12 Jahren

Du kannst den FTP-Zielpfad via FileSystemwatcher auf Aktionen überwachen.

Danke für den Tipp, erscheint mit aber auf den ersten Blick nach einer "frickl" Lösung.

Die Links hatte ich schon gesehen, leider auch keine befriedigende Lösung.

Ich denke nach unserer Diskussion, dass ein Dateiaustausch über den Webserver nicht sinnvoll ist, egal ob ashx-Handler oder Webservice.
Was denkst du über eine TLS/SSL Verbindung in punkto Sicherheit und Performance? Ich hab mich zwar noch nicht im Detail eingelesen, aber in meinem Fall wohl die bessere Option oder?

16.807 Beiträge seit 2008
vor 12 Jahren

erscheint mit aber auf den ersten Blick nach einer "frickl" Lösung.

Nö, also eine Frickel-Lösung ist das nicht. Ich überwache im Geschäft damit Shares mit einigen TB auf Veränderungen von Anwendern.
Natürlich kann ein Kopiervorgang wegen eines Netzwerkausfalls mal abbrechen, und das wird trotzdem als erfolgreichen Kopiervorgang gewertet - aber sowas kann Dir auch über den Webserver passieren. Dafür gibt's aber Hashsummen, die man bei solchen Datenmengen immer nutzen sollte!

Was denkst du über eine
>
in punkto Sicherheit und Performance?

Natürlich ist das ganze über SSL sicherer. Performance wird in der Theorie langsamer sein. Aber denke kaum messbar. Den Overhead haste halt.

Ich hab mich zwar noch nicht im Detail eingelesen, aber in meinem Fall wohl die bessere Option oder?

Ähm.. in Punkto Sicherheit ja. Aber löst Dein Problem der Technologie ja nicht. Es werden weiterhin HTTP/FTP/Socket-Verbindung benötigt. Da musste Dich also weiter für etwas entscheiden.

S
Savage Themenstarter:in
100 Beiträge seit 2004
vor 12 Jahren

Danke für deine Anregungen, ich werde mir das wohl alles nochmal durch den Kopf gehen lassen 😉