Я поддерживаю некоторый код, который имеет два события FileSystemWatcher, которые затрудняют отладку (и он имеет ошибку).Поэтому моя идея состоит в том, чтобы упростить код, сделав выполнение последовательным.Примерно так:
Main method
1) normal code here
2) enable event 1, let it check for files, disable it when it is done running once
3) enable event 2, let it check for files, disable it when it is done running once
Тогда журналы базы данных будут иметь больше смысла.Я мог бы видеть, какая часть программы, что делает что-то не так.
private void InitializeFileSystemWatcher()
{
this.MessageMonitor = new FileSystemWatcher(this.MessagePath, this.MessageFilter);
this.MessageMonitor.IncludeSubdirectories = true; // Recursive.
this.MessageMonitor.Created += new FileSystemEventHandler(OnMessageReceived);
this.MessageMonitor.EnableRaisingEvents = true;
}
Из основного я могу установить EnableRaisingEvents = true для EnableRaisingEvents = false.Оба события индексируют файлы в некоторой папке и вводят метод обратного вызова.
Мой вопрос такой: Если событие выполняется в данный момент, и я установил EnableRaisingEvents = false, будет ли оно приостановлено или продолжит выполняться до тех пор, пока оно не будет выполненоКонец?
Если он продолжится, я полагаю, что переменная boR doRUN установлена в начале и в конце события в качестве проверки основного метода.