WebDAV 리디렉터를 통해 SharePoint를 저장합니다. 새로운 객체 ID를 얻고 버전 이력을 잃어 버렸습니다

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

  •  03-07-2019
  •  | 
  •  

문제

WebDav 리디렉터를 사용하여 SharePoint 저장소에서 파일을 편집하고 있습니다. 파일을 이런 식으로 저장할 때마다 이전 객체를 대체하는 새 객체를 얻습니다. 이로 인해 모든 버전 기록이 손실됩니다.

열린 파일은 createFile을 통해 다음과 같이 수행됩니다.

Filename- CreateFile에 대한 읽기 전용 호출에 사용되는 것과 동일합니다 (작동)

desiredAccess : generic_read | generic_write

DWSHAREMODE : FILE_SHARE_READ SECIRLANDLE : 길이가 설정되었지만 다른 2 개의 필드는 0입니다.

dwcreationDisPosition : Open_Existing DWFLAGSANDATTRIBUTES : FILE_ATTRIBITE_NORMAL

htemplatefile : null

이 호출에 의해 반환 된 핸들에 파일을 작성한 후이 파일의 목록 항목을 가져 오면 객체 번호 (id =)가 증가했습니다. 또한이 ID 번호는 목록 항목의 각 필드에 미리 완성 된 것 같습니다 (실제 데이터와 분리 된 "#;").

확인, 편집, 웹 인터페이스를 사용하여 체크인하는 경우 ID 번호 (및 버전 기록 손실)가 발생하지 않습니다. 동일한 ID를 유지하고 버전 기록은 그대로 남아 있습니다.

이것을 피하려면 어떻게해야합니까? 버전 기록을 유지해야합니다.

도움이 되었습니까?

해결책

HTTP 추적을 얻는 것이 좋습니다.

아마도 리디렉터가 임시 파일을 사용한 다음 원본 파일 위로 이동 함을 보여줄 것입니다.

수정 : 더 똑똑한 WebDav 클라이언트를 사용하십시오 (Xythos 드라이브가 더 나을 수 있음).

다른 팁

WebDav를 사용하면 SharePoint 런타임을 우회하고 있으므로 귀하가 귀하에게 있습니다. 버전 기록을 얻으려면 사용해야합니다. SharePoint API (웹 서비스 또는 OM)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top