Сохранение в SharePoint через перенаправитель WebDAV.Получение нового идентификатора объекта и потеря истории версий

StackOverflow https://stackoverflow.com/questions/604332

  •  03-07-2019
  •  | 
  •  

Вопрос

Я использую перенаправитель WebDAV для редактирования файла в репозитории SharePoint.Похоже, каждый раз, когда я сохраняю файл таким образом, я получаю новый объект, заменяющий предыдущий.Это приводит к потере всей истории версий.

Открытие файла выполняется через CreateFile с помощью:

имя файла — то же, что используется для вызова CreateFile только для чтения (который работает)

Желаемый доступ:Generic_read | Generic_write

dwShareMode:FILE_SHARE_READ SecurityHandle:длина установлена, но остальные 2 поля равны 0

dwCreationDisposition:OPEN_EXISTING dwFlagsAndAttributes:FILE_ATTRIBUTE_NORMAL

hTemplateFile:НУЛЕВОЙ

После записи файла в дескриптор, возвращенный этим вызовом, если я получу элемент списка для этого файла, номер объекта (ID=) будет увеличен.Кроме того, этот идентификационный номер, кажется, добавляется к каждому из полей в элементе списка (отделен от фактических данных последовательностью «#;»)

Это увеличение идентификационного номера (и потеря истории версий) не происходит, если я извлекаю, редактирую, а затем возвращаюсь с помощью веб-интерфейса;он сохраняет тот же идентификатор, и история версий остается нетронутой.

Как мне этого избежать?Я должен хранить историю версий.

Это было полезно?

Решение

Я бы порекомендовал получить трассировку HTTP.

Скорее всего, он покажет, что редиректор использует временный файл, а затем ПЕРЕМЕЩАЕТ его поверх исходного файла.

Исправить:используйте более умный клиент WebDAV (диск Xythos может быть лучше).

Другие советы

используя WebDav, вы обходите среду выполнения SharePoint, поэтому вы .чтобы убедиться, что вы получаете историю версий, вы должны использовать API SharePoint (веб-сервисы или OM)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top