У меня есть несколько backgroundworkers
, которые все хотят записать в log.txt, что приводит к исключению The process cannot access the file 'C:\...\log.txt' because it is being used by another process.
.Я знаю, что это длинный выстрел, но поможет ли это, если я использую WriteAsync()
вместо этого или это не даст никакого эффекта?
(Если это не простое решение, думаю, мне нужно реализовать объект mutex
, который я видел раньше.)
public static void WriteToLog(string text, bool append = true)
{
try
{
using (var writer = new StreamWriter("log.txt", append))
{
writer.Write(text);
// writer.WriteAsync(text); // Would this 'queue up' instead of trying
to access the same process at the same time?
}
}
catch (Exception ex)
{
Console.WriteLine($"ERROR! Fejl i loggen! {ex.Message}. {ex.StackTrace}");
}
}