Ich versuche, eine riesige Textdatei mit C# zu generieren, und ein anderer Prozess schaut ständig auf den Speicherort und versucht, die Datei abzuholen, falls verfügbar.File.Move atomare Operation
Um die Datei Atom unten sind die Schritte zu machen:
1 - Write to file : Filename_temp.txt
2 - Check if Filename.txt already exists then Delete
3 - Do a File.Move to the same destination
From filename : Filename_temp.txt
TO : Filename.txt
Da eine Umbenennungs C# nicht, ich auf File.Move verlassen haben, ist dies der Verschiebungsvorgang sein sicherstellen, dass Atom Oder gibt es einen anderen Weg, diese Atomarität zu erreichen?
was genau meinen Sie damit, indem Sie sagen: atomare bewegung? – Tigran
Können Sie beide Anwendungslogik aktualisieren? Wenn ja - benutze Mutex um den Zugriff zu synchronisieren – sll
Ich empfehle zuerst zu prüfen, ob es existiert und löscht. Sie wissen nie, wann 'Filename_temp.txt' bereits existiert. – Nolonar