Poupar para o SharePoint via redirecionador WebDAV. Obtendo novo ID de objeto e perder o histórico versão
-
03-07-2019 - |
Pergunta
Eu estou usando WebDAV redirecionador para editar um arquivo em um repositório SharePoint. Parece que cada vez que eu salvar o arquivo dessa maneira, eu recebo um novo objeto que substitui o anterior. Isso está causando toda a história da versão a ser perdido.
Abrir arquivo está sendo feito através de CreateFile com:
filename - O mesmo que é usado para Read-Only chamada para CreateFile (que funciona)
DesiredAccess: GENERIC_READ | GENERIC_WRITE
dwShareMode: FILE_SHARE_READ SecurityHandle: comprimento é conjunto, mas outros 2 campos são 0
dwCreationDisposition: dwFlagsAndAttributes OPEN_EXISTING: FILE_ATTRIBUTE_NORMAL
hTemplateFile: NULL
Depois de escrever o arquivo para o identificador retornado por essa chamada, se eu conseguir o item da lista para este arquivo, o número do objeto (ID =) foi incrementado. Além disso, este número de identificação parece ser prefixado para cada um dos campos no item da lista (separada dos dados reais pela seqüência "#";)
Este incremento do número de identificação (e perda de histórico de versão) não aconteceria se eu verificar, editar, em seguida, o check-in utilizando a interface web; ele mantém o mesmo ID, ea história versão é deixada intacta.
Como posso evitar isso? Devo manter o histórico de versões.
Solução
Eu recomendo para obter um traço HTTP.
Provavelmente, ele vai mostrar que o redirecionador usa um arquivo temporário, em seguida, move-o sobre o arquivo original.
Fix:. Utilizar uma (unidade Xythos pode ser melhor) cliente mais inteligente WebDAV
Outras dicas
usando WebDAV você está ignorando o tempo de execução do SharePoint, que é por isso que você. para garantir que você obtenha o histórico de versão você deve usar o SharePoint apis (web services ou OM)