2009-02-20 8 views
0

Si j'écris un service Windows et qu'il écrira des fichiers de l'ordinateur local sur le réseau, en compressant les octets, puis en décompressant vers un flux de fichiers représentant le lecteur réseau, cela fonctionnera-t-il?Décompression d'un flux compressé vers un emplacement réseau

Par exemple, je compresse un fichier local. Je configure un objet filestream qui encapsule un chemin réseau (par exemple un lecteur réseau peut être N: /, donc le chemin est N:/..../...), puis je décompresse les octets à cet emplacement de fichier.

Répondre

0

Oui, cela fonctionnera, mais cela ne vous épargnera rien: vous chargez les données non compressées de la machine locale, vous les compressez en mémoire, vous les décompressez en mémoire et vous écrivez les données non compressées sur le réseau. Vous pourriez aussi bien simplement copier les fichiers.

Vous aurez besoin du service pour s'exécuter en tant qu'utilisateur dont le lecteur réseau est mappé. Notez que l'utilisateur LocalSystem par défaut pour les services n'a aucun lecteur réseau mappé.

+0

Donc, je vais avoir besoin d'emprunter l'identité de l'utilisateur connecté de la machine? En supposant qu'il a mappé les lecteurs réseau au bon emplacement (c'est-à-dire N: /). Quand vous dites ne me sauve rien, je suppose que vous voulez dire le temps, pas les données. – dotnetdev

+0

Oui, vous devrez exécuter en tant qu'utilisateur. Vous ne sauvegarderez ni l'heure ni les données. Vous lisez des données décompressées, vous écrivez des données décompressées. Vous n'allez pas envoyer les données compressées sur le réseau, car la décompression a lieu dans votre programme. – Sunlight

Questions connexes