我的应用程序通过Web Client / WebDAV(WebDAV重定向器)编辑SharePoint中的文件。我如何退房/办理登机手续?

时间:2009-02-11 17:58:03

标签: sharepoint webclient

我正在集成我的应用程序,以便它可以编辑存储在SharePoint中的文件。我正在使用Web客户端服务AKA WebDAV重定向器(webclnt.dll),它可以将正常的CreateFile /读/写Windows api调用从其正常的驱动器I / O路径重定向到WebDAV网络。但是,如果已经签入,我只能获得对该文件的只读访问权。

使用Web客户端服务,如何在编辑文件时检出文件,然后在编辑完文件时将其签入?

编辑:我尝试使用GetFileAttributes和SetFileAttributes来测试FILE_ATTRIBUTE_READONLY,希望我可以使用该标志来确定文件未被检出的时间,然后检查出来(通过取消设置该标志来检查,然后设置它来检查它)。那里没有运气;该文件始终显示为非只读。

1 个答案:

答案 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上的代码。