我正在集成我的应用程序,以便它可以编辑存储在SharePoint中的文件。我正在使用Web客户端服务AKA WebDAV重定向器(webclnt.dll),它可以将正常的CreateFile /读/写Windows api调用从其正常的驱动器I / O路径重定向到WebDAV网络。但是,如果已经签入,我只能获得对该文件的只读访问权。
使用Web客户端服务,如何在编辑文件时检出文件,然后在编辑完文件时将其签入?
编辑:我尝试使用GetFileAttributes和SetFileAttributes来测试FILE_ATTRIBUTE_READONLY,希望我可以使用该标志来确定文件未被检出的时间,然后检查出来(通过取消设置该标志来检查,然后设置它来检查它)。那里没有运气;该文件始终显示为非只读。
答案 0 :(得分:1)
要执行签入/签出文件,您需要使用以下代码:
SPSite oSite = new SPSite ("http://<sitename>/");
SPWeb oWeb = oSite.OpenWeb();
SPList oList = oWeb.Lists["Shared Documents"];
SPListItem oListItem = oList.Items[0]; //taking the first list item
oListItem.File.CheckOut();
oListItem["Name"] = "xyz";
oListItem.Update();
oListItem.File.CheckIn("file name has been changed");
如果您需要通过SharePoint WebService办理登记/退房,那么您应该查看Brad McCable博客Windows Sharepoint Services Web Service Example上的代码。