Webdav. Изменения теряются, когда документ редактируется одновременно
Я протестировал реализацию сервера webdav на https://www.ajaxbrowser.com/ и обнаружил странное поведение с блокировкой документов.
Если один и тот же документ будет открыт двумя пользователями, первый будет заблокирован, а второй получит окно с предупреждением. Вы можете выбрать опцию в окне, чтобы сохранить документ с помощью инструмента слияния. И когда первый пользователь завершает свои правки, второй пользователь перезапишет изменения, которые были внесены первым пользователем.
Вы можете использовать этот тестовый пример, чтобы проверить это поведение:
- Пользователь1 открывает документ
- Пользователь1 нажимает на Включить редактирование
- Пользователь2 открывает документ
- Пользователь2 получает окно предупреждения и выбирает опцию с помощью инструмента слияния
- Пользователь1 и Пользователь2 вносит некоторые изменения в документ.
- Пользователь2 пытается сохранить документ и получает предупреждение о состоянии блокировки документа. "Документ заблокирован другим пользователем" или что-то в этом роде.
- Пользователь1 завершает редактирование, нажимает кнопку "Сохранить" и закрывает MS Word.
- Пользователь2 может сохранить документ с этого момента или дождаться сообщения от Word об обновлении статуса блокировки документа.
- Пользователь2 нажимает кнопку "Сохранить", а слово сохраняет документ без появления инструмента слияния. Это действие перезаписывает все изменения, внесенные пользователем1.
Дополнительная информация о пользователях:
Пользователь1: ОС Windows10, Word 2016 MSO (16.0.4498.1000) 64-разрядная
Пользователь2: ОС Windows7, Word 2016 MSO (16.0.4266.1001) 32-разрядная версия
Как я могу исправить эту проблему? Это общая проблема или это относится только к моей местной среде?
1 ответ
Эта проблема исправлена в IT Hit WebDAV Server Engine для.NET v6 Beta. Он поддерживает слияние MS Office и правильные операции "If-Modified-Since" и "If" с обработкой заголовков ETag.