Я использую приведенный ниже код для прослушивания событий изменения файла, который я загружаю с сервера и открываю. однако событие изменения срабатывает только при первом сохранении файла, а затем при последующем сохранении средство просмотра файлов не запускает события изменения?
Кто-нибудь может увидеть, что происходит?
private FileSystemWatcher StartWatchingFile()
{
fw = new FileSystemWatcher();
fw.Path = this.directoryLocation;
fw.Filter = this.Filename;
fw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite;
// Add event handler
fw.Changed += new FileSystemEventHandler(fw_Changed);
// Open file
System.Diagnostics.Process.Start(this.CreateAbsoluteFilePath(this.Filename));
// Begin watching.
fw.EnableRaisingEvents = true;
return fw;
}
//************************
void fw_Changed(object sender, FileSystemEventArgs e)
{
MessageBox.Show("File: " + e.FullPath + " " + e.ChangeType);
}
РЕДАКТИРОВАТЬ: StartWatchingFile () теперь возвращает средство просмотра файлов, которое хранится в классе, который не будет собирать мусор, просто чтобы убедиться, что я держу весь класс так, как считал, что функция fw_changed () не сможет называется. Таким образом, весь класс теперь не собирает мусор. Класс содержится в ArrayList, который является публичным членом класса
С уважением,
Jon