Jeśli tylko trzeba to sprawdzić, kiedy użytkownik pyta, a następnie przez cały czas, nie używać FileSystemWatcher. Zwłaszcza jeśli jest to zasób współużytkowany - ostatnią rzeczą, jakiej oczekujesz, jest to, że 50 komputerów klienckich obserwuje ten sam udostępniony katalog.
To prawdopodobnie tylko literówka, ale nie powinieneś patrzeć na czas dostępu do pliku, chcesz spojrzeć na czas modyfikacji pliku, aby odebrać zmiany. Nawet to nie jest niezawodne.
To, co mógłbym zrobić, to zaimplementować jakąś funkcję sumy kontrolnej w dacie i rozmiarze pliku lub innych właściwościach systemu plików. W ten sposób nie będę szukał zmian w całym pliku - tylko jego właściwości i ja możemy to zrobić na żądanie, zamiast próbować utrzymywać połączenie ze zdalnym zasobem, aby go monitorować.
Cięższym rozwiązaniem byłoby zrobienie tego na odwrót i zainstalowanie usługi na komputerze udostępniającym współużytkowany napęd, który mógłby monitorować pliki i zanotować zmiany. Wtedy możesz zapytać usługę, zamiast dotykać plików - ale to prawdopodobnie przesada.
Czy masz zawsze działającą usługę, czy też chcesz, aby program pobierał ostatnio zmodyfikowane pliki przy każdym uruchomieniu bez ciągłego monitorowania systemu plików? Proszę, wyjaśnij pytanie. –