Frage

Ich baue eine Anwendung, die einen Web-Server wie ein Dateisystem verwenden muss. Insbesondere wäre die ideale Lösung sein:

  • eine serverseitige Komponente, die über HTTP, Öffnung (Verriegelung), Lesen, Schreiben, Suchen und Kürzen einer Datei erlauben würde. Ich muss in der Lage, mehrere Dateien gleichzeitig zu sperren. Ich brauche dies auf eine der Standard-Web-Hosts da draußen zu laufen, so dass es auf IIS oder Apache ausgeführt werden muss, Server-Side-Scripting mit (Web Services, PHP, etc.)
  • Ein Client-Schnittstelle dies, dass ich es eine URI Hand, und es öffnet sich und verhält sich wie eine Datei. Meine Client-Anwendung ist in .NET, so idealerweise der Client-API eine FileSteam Unterklasse implementieren würde.

Der Grund, warum ich diese brauchen, ist, dass ich ziemlich große Dateien, die auf einem Web-Host sitzen wird. Ich brauche Teile der Dateien (unter Verwendung suchen), gestutzt, und hängen Sie an das Ende zu lesen. Das Herunterladen und die gesamte Datei hochzuladen ist zu Bandbreite intensiv. Außerdem muss ich mehrere Dateien gleichzeitig sperren.

Meine Fragen:

  • Ist so etwas gibt es?
  • Wenn nicht, warum nicht? Ist das nicht wie ein sehr nützlicher Service scheinen?

Es scheint wie eine solche Komponente erlauben würde mich da draußen als Netzwerk-Dateiserver beliebigen Web-Hosting-Unternehmen zu verwenden. Das scheint sinnvoll, nicht wahr?

Vielen Dank für Ihre Hilfe!

Eric

War es hilfreich?

Lösung

Es scheint, was Sie suchen ist ein WebDAV Server.

Andere Tipps

Langfassung
Web-Hosts wurden ursprünglich entwickelt, um Inhalte TO THE Benutzer in einzelner Verbindung zu senden. Das gesamte Konzept der Sitzungen ist ein relativ modernes Phänomen (Stichwort: relativ) - von denen die meisten einfach Methoden sind einzelne Verbindungen vom selben Nutzer zu verfolgen. Mehr als oft nicht, was es ist nur die Eindruck , dass Sie immer noch mit dem Server verbunden sind, wenn sie in Wirklichkeit Sie angeschlossen haben, heruntergeladen, getrennt - und tun jedes Mal die gleiche connect / download / trennen Sie nehmen eine Aktion aus.

Dinge wie WebDav, die heft auf Ergänzungen der Standard-HTTP-Dialog sind die speziell Software entwickelt, ermöglichen über HTTP auf einem Server komplexere Kommunikation zu haben. Sehr häufig Verwendung für WebDav ist Subversion, iCal (Kalandrieren Unterstützung), etc. -. Diese erlauben einzelne Verbindung Hochladen von Daten

Was Sie sprechen eine sitzungsbasierte Dateisystem-Service haben. Obwohl es scheint, dass es ein guter Service wäre, vermute ich, es war nicht aufgrund der schieren Komplexität und Gefahr umgesetzt worden, die Vorteile überwiegen. Zum Beispiel würde eine solche nicht nur ein Dienst über Standard-Dateisystem Probleme kümmern (Berechtigung, Dateiberechtigungen, Sperren, Timeouts, etc.), aber jetzt auch über die Komplexität auf dem Netz des Seins (Authentifizierung, Session-Tracking sorgen hat, trennt, Replay-Attacken, DDoS, etc). Zum Beispiel, was passiert, wenn ein Client eine Datei sperrt dann offline fällt? Ist die Datei bleiben, bis der Server neu gestartet wird gesperrt? Wenn nicht, wann entsperren Sie die Datei automatisch? Was passiert, wenn die Auto-Unlock löst und die ursprüngliche Schließfach kommt wieder online? Haben Sie alles zwingen, in einer einzigen Verbindung zu tun, um zu kompensieren? Was passiert, wenn sie in der Mitte einer Sitzung getrennt werden?

Sie sind aber ein paar Dinge, die Sie haben zu befürchten. Ich habe schweifte auf viel länger als ich meinte, aber das Endergebnis ist, dass ...

Kurzversion
Sie können sicher WebDav verwenden, um dies zu implementieren, die Sie benötigen, eine serverseitige Bibliothek zu bauen. Doch während es ist nicht unmöglich, sie ist in einer Welt des Schmerzes, wie entworfen. Ich würde vorschlagen, den Entwurf, um es zu vereinfachen, so dass Sie es nicht brauchen so viel wie ein Dateisystem zu handeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top