多个应用程序同时写入数据到一个文件中时可用
public void WriteData(string dataWh, string filePath) { EventWaitHandle waitHandle = new EventWaitHandle(true, EventResetMode.AutoReset, "SHARED_BY_ALL_PROCESSES"); waitHandle.WaitOne(); try { using (var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { byte[] dataAsByteArray = new UTF8Encoding(true).GetBytes(dataWh); fs.Write(dataAsByteArray, 0, dataWh.Length); Console.WriteLine("111111111111"); } } finally { waitHandle.Set(); } }
SHARED_BY_ALL_PROCESSES 是字符串键
确保所有应用程序中的键是一样的值, try里面的代码就是进程安全的.
可以复制这这段代码新建两个控制台程序试试 ^ ^