それぞれ異なるネットワーク共有にある 5 つの同一の xml ファイルを変更するアプリケーションがあります。これが不必要に冗長であることは承知していますが、「そうでなければなりません」。
このアプリケーションが実行されるたびに、正確に 1 つの要素 (それ以上でもそれ以下でもない) が追加/削除/変更されます。
最初に、アプリケーションは各 xml ファイルを開き、要素を適切なノードに追加/削除/変更してファイルを保存するか、保存できない場合はエラーをスローします (ネットワーク共有にアクセスできない、タイムアウトなど...)。
これをアトミックにするにはどうすればよいですか?
私の最初の仮定は次のとおりでした。
foreach (var path in NetworkPaths)
if (!File.Exists(path)
isAtomic = false;
if (isAtomic)
{
//Do things
}
しかし、私はそれがこれまでのところしか進んでいないことがわかります。これを行う別の方法、または私が指し示すことができる方向はありますか?