FileSystemWatcher - только событие изменения, один раз выстрелив, один раз?

Я использую приведенный ниже код для прослушивания событий изменения файла, который я загружаю с сервера и открываю. однако событие изменения срабатывает только при первом сохранении файла, а затем при последующем сохранении средство просмотра файлов не запускает события изменения?

Кто-нибудь может увидеть, что происходит?

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 () теперь возвращает filewatcher, который хранится в классе, который не будет собирать мусор, просто чтобы убедиться, что я держу весь класс так, как думал, что функция fw_changed () может быть не в состоянии вызвать. Таким образом, весь класс теперь не собирает мусор. Класс хранится в ArrayList, который является открытым членом класса

С Уважением,

Джон

Ответы на вопрос(2)

Ваш ответ на вопрос