Meu aplicativo edita um arquivo no SharePoint via Web Client / WebDAV (WebDAV redirecionador). Como posso verificar out / check-in?

StackOverflow https://stackoverflow.com/questions/537990

  •  22-08-2019
  •  | 
  •  

Pergunta

Eu estou integrando meu aplicativo para que ele possa editar arquivos armazenados no SharePoint. Eu estou usando o serviço Web Client AKA WebDAV Redirector (Webclnt.dll), que faz um trabalho maravilhoso de deixar o CreateFile normais / leitura / gravação do Windows chamadas API ser redirecionado a partir de sua unidade normal de I / O caminho para a rede através do WebDAV. No entanto, só posso obter acesso ao arquivo somente leitura se ele é o check-in.

Usando o serviço de cliente Web, como posso fazer com que o arquivo a ser verificado quando eu editá-lo e, em seguida, fazer com que ele para ser verificados em quando eu terminar de editá-lo?

Edit: Eu tentei usar os GetFileAttributes e SetFileAttributes para testar FILE_ATTRIBUTE_READONLY, esperando que eu poderia usar esse sinalizador para determinar quando o arquivo não foi check-out, e, em seguida, fazer check-out (por desarmar essa bandeira de verificar, em seguida, definindo-o como check-in). Sem sorte lá; o arquivo sempre como parece não só de leitura.

Foi útil?

Solução

Bem para realizar check-in / check-out de um arquivo que você precisa para usar o seguinte código:

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");

Se você precisa fazer check-in / check-out através do SharePoint WebService, em seguida, você deve dar uma olhada no código no blog de Brad McCable em Windows SharePoint Services Exemplo web Service .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top