Я копирую с клиентского компьютера на серверный компьютер в общем каталоге. Мой сервер обнаруживает новый файл, и после завершения копирования он должен обработать его. Проблема заключается в том, что при написании большого файла и использовании FileSystemWatcher
вы не обнаружите, выполнено ли копирование или нет. Единственный способ проверить это - попробовать открыть файл (File.OpenRead
/OpenWrite
) и получить исключение. Как я могу получить уведомление о том, что копия завершена, не прибегая к обработке исключений в качестве управления потоком?Как получить открытые дескрипторы записи в файле с помощью C#?
Моя первая мысль, если бы я мог обнаружить, когда дескриптор, используемый для записи в файл, закрыт, я могу точно сказать, когда копирование будет завершено, но я не уверен, как это сделать.
Что делать, если на клиенте он использует проводник Windows, чтобы просто перетащить файл в общий сетевой ресурс? –