Monitoruję plik tekstowy zapisywany przez program serwera. Za każdym razem, gdy plik zostanie zmieniony, zawartość zostanie wyprowadzona do okna w moim programie.Odczytywanie pliku używanego przez inny proces
Problem polega na tym, że nie można użyć pliku w pliku, ponieważ jest to used by another process
. Ustawienie Filestream
z nie przyniesie żadnego pożytku, ponieważ nie mogę kontrolować procesu, który używa tego pliku.
Mogę otworzyć plik w notatniku. Dostęp do niego musi być możliwy, nawet jeśli serwer go używa.
Czy istnieje dobry sposób obejścia tego?
Czy powinienem wykonać następujące czynności?
- Monitorować plik
- Wykonaj kopię temp od niego, gdy zmienia
- Czytaj kopię temp
- Usuń kopię temp.
Potrzebuję uzyskać tekst w pliku, gdy serwer go zmienia.
Dziękuję ... Nie wiedziałem, że FileShare.Read będzie w tym przypadku niepoprawny. –
Używając 'FileShare.ReadWrite | FileShare.Delete' można uzyskać dostęp do jeszcze większej liczby plików. Warto spróbować, gdy 'FileShare.ReadWrite' nie wystarcza – Adassko
@Adassko Lub gdy' FileShare.Read' to za mało, tak jak w tym przypadku, i w mojej szczególnej sytuacji, w której używałem tego w tym samym kodzie i musiał przejść na 'FileShare.ReadWrite', aby uruchomić go. – vapcguy