2009-09-18 7 views
1

Je voudrais demander si quelqu'un connaît la fiabilité de File.Copy dans une copie de fichier de chemin UNC. J'ai un fichier en local et la cible est un partage smb (SAMBA etc). Prendre pour acquis que l'emprunt d'identité a eu lieu avec succès et je peux exécuter des commandes avec des informations d'identification complètes. Est-il possible de vérifier si le fichier est correctement copié? -La solution d'un test d'intégrité nécessitera le transfert de données, car le protocole sous-jacent CIFS ne dispose pas des mécanismes de contrôle pertinents (md5, etc.). La seule chose que j'ai trouvée est que le protocole a effectivement un drapeau de validation d'écriture (vérifiez la spécification cifs à la page 80) mais comment cela peut-il être réglé via .NET? Il n'y a pas de test de validation après-copie pour autant que je comprenne à travers le documented exceptions.File.Copy et après l'erreur de vérification des erreurs

Répondre

2

Je voudrais hacher le fichier avant et après la copie, puis assurez-vous que les hachages sont identiques.

+0

+1 pour une solution simple et correcte. –

+0

Hacher le fichier sur le chemin UNC après la copie signifierait que le fichier serait recopié. Ce n'est pas fiable car une erreur peut se produire sur l'un des transferts. –

+0

Vous n'avez pas besoin d'effectuer un second transfert de fichier explicite. Vous pouvez simplement charger le fichier depuis l'UNC distant. Dans tous les cas une erreur pourrait survenir dans le transfert initial de dans le fichier ouvert. Donc, en plus de comparer le hachage, vous voudriez considérer une IOException comme un autre critère d'échec. –

Questions connexes