2

我正在使用 WebDAV 重定向器来编辑 SharePoint 存储库上的文件。看起来每次我以这种方式保存文件时,都会得到一个替换前一个对象的新对象。这导致所有版本历史记录丢失。

打开文件是通过 CreateFile 完成的:

文件名 - 与对 CreateFile 的只读调用相同(有效)

所需访问:GENERIC_READ | GENERIC_WRITE

dwShareMode:FILE_SHARE_READ SecurityHandle:长度已设置,但其他2个字段为0

dwCreationDisposition:OPEN_EXISTING dwFlagsAndAttributes:FILE_ATTRIBUTE_NORMAL

h模板文件:空

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

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

我怎样才能避免这种情况?我必须保留版本历史。

4

2 回答 2

1

我建议获取 HTTP 跟踪。

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

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

于 2009-03-03T09:20:12.257 回答
0

通过使用 WebDav,您绕过了 SharePoint 运行时,这就是您 . 为确保您获得版本历史记录,您应该使用SharePoint api(Web 服务或 OM)

于 2009-03-03T04:31:40.310 回答