Bonjour,
Je fais des traitements de copie de fichiers de SharePoint vers le local, mais je ne vais pas parler de SharePoint (c'et juste le contexte au cas ou
Bref, je parcours une arboresence SharePoint (dossiers et docments), comme les copies de SP vers local peuvent etre faite plusieurs fois, avant de faire une copie en local, je supprime le dossier que je traite (donc son contenu) ensuite je le recrée et je fait mon traitement de copie!
seulement voila, en faisait des tests, je me suis rendu compte que certaine fois, le dossier qui contient mes documents "disparaissait"!
suite a de nombreux tests(des fois il disparait, d'autres fois non ), je me suis rendu compte qu'apres la suppression, le répertoire n'etait pas toujours recré! et donc plantage du traitement de copie!
Ci dessus vou avez (en rouge) mon code natif (celui qui plante).
Je me demande pourquoi?
J'ai ajouté un try/cach et il n'y a jamais d'erreur!
Je me demande s'il ne faut pas un certain temps à la création du répertoire, ce qui fait que s'il est plus lent à la création, plantage du traitement :X
Si vous avez des éléments de réponses sur le pourquoi du comment de ce comportement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 if (Directory.Exists(localPath + "\\" + Folder.Name)) { // si le dossier local d'une direction existe // on le supprime ainsi on a toujours uniquement les fichiers présents sur SPS Directory.Delete(localPath + "\\" + Folder.Name, true); } // on crée ou recrée le dossier de la direction DirectoryInfo di = Directory.CreateDirectory(localPath + "\\" + Folder.Name); int i = 0; while (!di.Exists) { di = Directory.CreateDirectory(localPath + "\\" + Folder.Name); i++; }
en attendant, j'ai trouvé une astuce, j'ai ajouté dans mon code (en vert) une vérification du fichier, tant qu'il n'est pas crée, je le recrée! en y mettant un compteur je me suis rendu copte qu'il n'y passait qu'une seule fois
merki
Partager