【发布时间】:2013-10-17 15:42:54
【问题描述】:
我需要使用在多个实例中运行的相同代码附加到文本文件。在 try 块中,我打开文件,写入一条记录并关闭。
lfilExceptionLogFileStream = new FileStream(istrExceptionInfoFullFileName, FileMode.Append, FileAccess.Write, FileShare.Write);
lfilExceptionLog = new StreamWriter(lfilExceptionLogFileStream);
如果有问题,在 catch 块中我暂停 1 秒 System.Threading.Thread.Sleep(1000); 并调用相同的函数。我重试了 99 次。
FileShare.Write 当我同时测试 3 次时 - 数据丢失。 FileShare.None - 长时间锁定文件
我已经尝试了很多。如果有一种简单的方法可以找到文件是否被锁定,我可以等到它被锁定。我尝试过使用锁定对象 - 没有运气
如果有人可以提供可行的解决方案,请欣赏。
拉维
【问题讨论】:
标签: multithreading file text concurrency append