通过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 SecurityHandle:设置了长度,但其他2个字段为0

dwCreationDisposition:OPEN_EXISTING dwFlagsAndAttributes:FILE_ATTRIBUTE_NORMAL

hTemplateFile:NULL

将文件写入此调用返回的句柄后,如果获取此文件的列表项,则对象编号(ID =)已递增。此外,此ID号似乎预先添加到列表项中的每个字段(通过序列“#;"”与实际数据分开)

如果我签出,编辑,然后使用Web界面签入,则不会发生ID号的增加(以及版本历史记录丢失);它保留了相同的ID,版本历史保持不变。

我该如何避免这种情况?我必须保留版本历史记录。

有帮助吗?

解决方案

我建议获取HTTP跟踪。

可能会显示重定向器使用临时文件,然后将其移动到原始文件上。

修复:使用更智能的WebDAV客户端(Xythos驱动器可能更好)。

其他提示

通过使用WebDav,您绕过了SharePoint运行时,这就是您的原因。为了确保您获得版本历史记录,您应该使用 SharePoint apis (网络服务或OM)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top