C# Projekt für Fortgeschrittenen

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ein Backupprogramm, das du anschließend selber verwenden kannst, um Daten zwischen HomeOffice und Büro zu transferieren. Selber habe ich ein solches erstellt und verwende es regelmäßig, und andere Mitarbeiter auch.

Anforderungen:

  • Benutzeranmeldung mit Passwort
  • Accountneuerstellung mit Freigabemail an den Admin
  • Datei- und Verzeichnisauswahl, gewähltes wird z.B. rechts in Liste angezeigt
  • gesicherte Daten werden mit Kommentar in anderer Liste angezeigt
  • Upload erfolgt gepackt und verschlüsselt
  • Download in Verzeichnis nach Wahl
  • für die Verschlüsselung wird das Account-Passwort mitverwendet, für das Encoden und Decoden ist also keine weitere Benutzereingabe erforderlich
  • Upload ggf. in kleinen Einheiten, um größere Transfers unterbrechen zu können, die Datei wird auf dem Server per Script wieder zusammen gefügt
  • auch Anmeldung und andere Abfragen können per Scriptaufruf aus der NET-Anwendung heraus erfolgen

Oder wäre das zu viel fürs erste?

Noch eine Anmerkung zum Scripting auf dem Server-Rechner. Wir haben Perl verwendet. Ein Kollege erstellte die Scripte, die ich damals über C# angesteuert habe. Um einen User anzumelden, könnte das beispielsweise wie folgt aussehen, wobei das Passwort verschlüsselt ist:

http://www.beispielserver.de/userlogin.pl?id=32&password=fia3a4t

0
@Toraka

könntest du mal nen Screenshot der Main-Oberfläche uploaden?

lg, repac3r

0

Okay dass sieht sehr interessant aus, mit diese werde ich wohl ne weile beschäftig sein, ich danke dir viemals für diese Idee.

lg, repac3r

0
@repac3r

Noch ein paar Tipps...

Alle fertigen Dateien, die hochgeladen werden (müssen), befinden sich in einem bestimmten Verzeichnis, inkl. einer dazugehörigen Infodatei, die u.a. einen Kommentar zum Backup enthält. Anhand dieser Infodatei merkt das Tool, dass es etwas zum hochladen gibt.

Ein Splitting großer Dateien würde ich hinten anstellen und den Transfer im ersten Schritt grundsätzlich verwirklichen. Anschließend kann man das erweitern, wenn gewünscht. Der Vorteil des Splittings ist klar. Wird ein 500MB-Backup erstellt und es tritt ein Fehler beim Hochladen auf oder der PC muss vor Abschluss ausgeschaltet werden, kann das Tool nach Neustart des Tools bei der nächsten Teil-Datei weitermachen. Jede hochgeladene Datei wird aus dem Arbeitsverzeichnis gelöscht, ist damit erledigt. Ist alles oben, wird auf dem Server das Zusammensetzen der Datei gestartet.

Ein neuer Account wird erst dann freigeschaltet, wenn der Admin einen Link in der automatisch generierte Mail ausgeführt hat.

0

Interessant ist sicher ein Merge-Tool...sowas wie BeyondCompare/WinMerge. So ein Projekt ist auch für spätere Zwecke sinnvoll (auch wenn es sowas bereits zuhauf gibt, aber das wird wohl bei allen Projekten so sein, aber wenn man es selber macht kann man es persönlichen Präferenzen anpassen).

Das hat Dateimanipulation, WPF passt da rein. Kann man beliebig skalieren vom Aufwand, fängt beim 2-Way merge von Textdateien an, kann auch 3-Way werden. Man kann diverse Formate unterstützen, z.B. Binaries, Bilder oder Datenbanksnapshots (hier kenne ich kein Tool was das gut kann). Wenn man ganz wild drauf ist kann man auch Word oder Excel Dokumente vergleichen (da kenne ich auch nix wirklich gutes) - gerne auch mit diversen Plugin Frameworks um weitere exotische Sachen einzubeziehen. Die Grenze ist hier nach oben offen.

Das wäre zumindest etwas, was eine gute Herausforderung geben kann.

Snapshot des Backup-Tools, persönliche Informationen wurden überdeckt. Wie zu erkennen, verfügt das Tool über weitere Funktionalitäten, darunter eine automatisierte Sicherung nach Zeitplanung, speicherbare Sicherungsprofile und eine Passwortverwaltung.

Backup-Tool - (C Sharp, Fachinformatiker, neueinstieg)

Im Tray befindet sich zusätzlich ein Icon, über dessen Untermenü die verbleibende Zeit von Uploads verfolgt werden können. Außerdem können darüber diese Uploads abgebrochen werden. Wie erwähnt, sehr nützlich, um mal eben etwas zu sichern, was daraufhin an jedem Ort zur Verfügung steht, so lange eine Internetverbindung besteht.

0
@Toraka

Okay vielen vielen Dank, das Projekt ist sehr interessant wobei ich dieses eher in Richtung SharingCloud und Synchronisationstool gestalten werde.

Lg, repac3r

0

Was möchtest Du wissen?