Nella maggior parte dei sistemi operativi conformi a Unix e Posix, l'esecuzione di una chiamata del sistema operativo open() con O_APPEND indica al sistema operativo che le operazioni di scrittura atomica di accodamento e scrittura devono essere eseguite. Con questo comportamento, per i filesystem locali quando si scrive, si sa che viene aggiunto alla fine del file.Come posso eseguire una scrittura/aggiunta atomica in C#, o come posso ottenere i file aperti con il flag FILE_APPEND_DATA?
I sistemi operativi Windows supportano la stessa funzionalità passando FILE_APPEND_DATA
nel parametro appropriato alla chiamata di sistema Win32 CreateFile().
riferimenti:
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
mio problema è questo, non è possibile determinare come ottenere questo comportamento in C# utilizzando .NET Framework Biblioteche, c'è un modo per ottenere tale comportamento con il Net Framework? Non credo che l'uso di FileMode.Append dia un comportamento del genere, tra l'altro.
Fred, questa è una risposta fantastica. – Cameron
È come utilizzare l'API 'File.AppendText'? – Ben
L'ultimo parametro del costruttore FileStream, 'bufferSize' o 4096 in questo esempio sarà il limite superiore della lunghezza di una scrittura atomica. – Cameron