Unter den meist Unix-Varianten und Posix konformen Betriebssysteme einen open() Betriebssystemaufruf durchführt mit der O_APPEND an das O angibt, schreibt atomaren append sein und Schreiboperationen. Mit diesem Verhalten wissen Sie, dass lokale Dateisysteme beim Schreiben an das Ende der Datei angehängt werden.Wie kann ich eine atomare schreiben/anhängen in C#, oder wie bekomme ich Dateien mit dem Flag FILE_APPEND_DATA geöffnet?
Die Windows-Betriebssysteme unterstützen die gleiche Funktionalität durch FILE_APPEND_DATA
in den entsprechenden Parameter auf die Win32 Createfile() Systemaufruf übergeben.
Referenzen:
http://www.google.com/search?q=msdn+createfile
or: http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx
http://www.google.com/search?q=msdn+IoCreateFileSpecifyDeviceObjectHint
or: http://www.google.com/search?q=msdn+IoCreateFileSpecifyDeviceObjectHint
Mein Problem ist, das kann ich nicht bestimmen, wie dieses Verhalten unter C# Bibliotheken unter Verwendung der Net Framework, zu erhalten, ist es eine Möglichkeit, ein solches Verhalten mit dem Net Framework zu bekommen? Ich glaube nicht, dass die Verwendung von FileMode.Append ein solches Verhalten übrigens gibt.
Fred, das ist eine tolle Antwort. – Cameron
Ist das die gleiche wie die 'File.AppendText' API? – Ben
Der letzte Parameter des Filestream-Konstruktor ‚buffer‘ oder 4096 in diesem Beispiel wird eine obere Grenze für die Länge einer atomaren Schreib sein. – Cameron