Запишите изменения файла, сделанные при открытии файла через проводник Windows на подключенном диске - PullRequest
0 голосов
/ 20 ноября 2018

Я внедряю файловый сервер WebDAV с использованием механизма ITHit WebDave, у меня возникает следующая проблема

Когда я перечисляю файлы и открываю один из них, у меня вызывается метод ReadAsync, я предоставляю содержимое ифайл открывается правильно

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

Устройство, подключенное к системе, не работает

Я рассмотрел примеры файловой системы и реализовал поддержку на основе примера FileSystemStorage.AspNetCore,

Из того, что можно понять, метод WriteAsync используется при создании новых файлов, следует ли ожидать от WriteAsyncтакже вызываться для правок файла, которые необходимо изменить?

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

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

Отредактировано, чтобы добавить: Теперь я вижу, что после того, как я уволил первую ошибку о том, что устройство не работает, я получаю стандартное диалоговое окно сохранения, если я нажимаю сохранить, он спрашивает меня, хочу ли я перезаписать существующий файл, после того, какПринимая предложение перезаписать, вызывается WriteAsync, и я могу обновить содержимое файла

. Я не совсем уверен, почему он сначала сообщит мне об ошибке, а затем разрешит мне записать файл, но только в качестве заменыОригинальный файл

Спасибо за помощь

1 Ответ

0 голосов
/ 21 ноября 2018

Исправлено, я обнаружил, что были проблемы с реализацией ILockAsync, просмотр примера FileSystemStorage помог исправить проблему с блокировкой файлов перед записью или обновлением свойств

...