我有一个用C#编写的控制台应用程序,我通过将其构建为exe并使用其他软件通过命令行参数调用它来确定C#exe的功能。
c#exe偶尔通过以下代码写入日志文件:
using (StreamWriter w = File.AppendText(_loggerDirectory))
{
w.WriteLine(dateString + " | " + message);
}
我认为问题在于,有时多个不同的进程会同时几乎同时打开同一exe文件,并且当程序的两个实例要调用上述代码时,其中一个它们运行得很好,但是另一个给了我以下错误:
System.IO.IOException: The process cannot access the file 'C:\..\Commands\log.txt' because it is being used by another process.
是否可以通过某种方法使程序等到文件不被使用,然后再尝试写入?或欢迎使用其他解决方案来解决此问题。