Question

Je construis une application qui a besoin d'utiliser un serveur web comme un système de fichiers. Plus précisément, la solution idéale serait:

  • Un composant côté serveur qui permettrait, via le protocole HTTP, l'ouverture (verrouillage), la lecture, l'écriture, à la recherche et tronquer un fichier. Je dois être capable de verrouiller plusieurs fichiers simultanément. Je en ai besoin de courir sur l'un des hôtes Web standard là-bas, donc il doit fonctionner au-dessus d'IIS ou Apache, en utilisant les scripts côté serveur (Services Web, PHP, etc)
  • Une interface client à ce que je tends un URI, et il ouvre et agit comme un fichier. Mon application client est en .NET, donc idéalement l'API client mettrait en œuvre une sous-classe de FileSteam.

La raison pour laquelle j'ai besoin c'est que j'ai plutôt gros fichiers qui seront assis sur un hébergeur. Je dois lire des parties des fichiers (en utilisant seek), tronquer, et ajouter à la fin. Le téléchargement et télécharger le fichier entier est trop bande passante intensive. Je dois également verrouiller plusieurs fichiers simultanément.

Mes questions:

  • Est-ce qu'une telle chose existe?
  • Sinon, pourquoi pas? Cela semble-t pas comme un service très utile?

Il semble que cette composante me permettrait d'utiliser une société d'hébergement Web là-bas en tant que serveur de fichiers réseau. Cela semble utile, non?

Merci pour votre aide!

Eric

Était-ce utile?

La solution

Il semble que vous cherchez est un WebDAV serveur.

Autres conseils

Version longue
Les hôtes Web ont été initialement conçus pour envoyer Tothe utilisateur contenu dans le cadre individuel. Le concept des sessions est un phénomène relativement moderne (mot-clé: relativement) - dont la plupart sont simplement des méthodes pour suivre les connexions individuelles d'un même utilisateur. Plus souvent qu'autrement, son juste donner la impression que vous êtes toujours connecté au serveur, alors qu'en réalité vous avez connecté, téléchargé, déconnecté - et faire la même connexion / téléchargement / déconnecter chaque fois vous prenez une action.

Des choses comme WebDav qui sont amure sur des ajouts à la boîte de dialogue HTTP standard qui permettent un logiciel spécialement conçu pour avoir une communication plus complexe via HTTP à un serveur. Très usage courant pour WebDav est Subversion, iCal (soutien calandrer), etc -. Ceux-ci permettent de seule connexion téléchargement de données

Qu'est-ce que vous parlez est d'avoir un service de système de fichiers par session. Bien qu'il semble que ce serait un bon service, je pense qu'il n'a pas été mis en œuvre en raison de la grande complexité et le danger dépassant les avantages. Par exemple, non seulement un tel service à vous soucier de problèmes de système de fichiers standard (autorisation, les autorisations de fichiers, de verrouillage, les délais d'attente, etc.), mais maintenant aussi à se soucier de la complexité de l'être sur le web (authentification, session de suivi, sectionneurs, attaques replay, DDoS, etc.). Par exemple, ce qui se passe si un client verrouille un fichier tombe alors hors ligne? Le séjour de fichier verrouillé jusqu'à ce que le serveur redémarre? Sinon, quand vous déverrouiller automatiquement le fichier? Qu'est-ce qui se passe si l'auto-déverrouillage déclenche et le casier d'origine est de retour en ligne? Avez-vous tout forcer à faire en une seule connexion pour compenser? Que se passe-si elles se déconnectent au milieu d'une session?

Ils ne sont que quelques choses que vous avez à se soucier. J'ai rambled beaucoup plus longtemps que je voulais dire, mais la ligne de fond est que ...

Version courte
Vous pouvez certainement utiliser WebDav pour mettre en œuvre ce qui vous obligera à construire une bibliothèque côté serveur. Cependant, alors que son pas impossible, vous êtes dans un monde de souffrance comme prévu. Je vous suggère de simplifier la conception afin que vous ne avez pas besoin d'agir comme un système de fichiers tant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top