J'ai une application qui modifie 5 fichiers xml identiques, chacun situé sur un partage réseau différent. Je suis conscient que cela est inutilement redondant, mais "il doit en être ainsi".Modification atomique de fichiers sur plusieurs réseaux
Chaque fois que cette application s'exécute, exactement un élément (pas plus, pas moins) sera ajouté/supprimé/modifié. Initialement, l'application ouvre chaque fichier xml, ajoute/supprime/modifie l'élément au nœud approprié et enregistre le fichier, ou renvoie une erreur si elle ne le peut pas (Impossible d'accéder au partage réseau, timeout, etc ...).
Comment est-ce que je fais cet atomique?
Mon hypothèse de départ était:
foreach (var path in NetworkPaths)
if (!File.Exists(path)
isAtomic = false;
if (isAtomic)
{
//Do things
}
Mais je peux voir que seulement aller si loin. Y a-t-il un autre moyen de le faire, ou une direction vers laquelle je peux me diriger?