1

我在我的 C# 程序中遇到错误,然后我尝试用

new StreamWriter("myFile.dat");

该程序由另一个程序执行,有时程序的前一个实例会阻塞文件(不知道如何以及为什么)。

我可以在我的代码中使用任何类型的 unblocking 来编写文件吗?

4

2 回答 2

1

该程序由另一个程序执行,有时该程序的前一个实例会阻塞文件

因此,您必须在进程之间使用任何同步逻辑,而不是像“解锁文件”这样的骇人听闻的解决方案。例如,阅读mutexes

于 2012-09-19T05:37:58.367 回答
1

您可以尝试使用 FileShare.ReadWrite 标志打开 FileStream。例如:

new FileStream("myFile.dat", FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite);

赋予多个进程写入文件的能力。

于 2012-09-19T05:41:57.950 回答