Mi aplicación edita un archivo en SharePoint desde la web de cliente / WebDAV (redirector de WebDAV). ¿Cómo puedo dar de baja / facturar?

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

  •  22-08-2019
  •  | 
  •  

Pregunta

Estoy integrando mi solicitud para que se pueda editar archivos almacenados en SharePoint. Estoy usando el servicio de cliente Web También conocido como WebDAV Redirector (Webclnt.dll), que hace un trabajo maravilloso de dejar que el CreateFile normales / leer / escribir las llamadas API de Windows serán redireccionados de su trayectoria normal de la unidad de E / S a la red a través de WebDAV. Sin embargo, sólo puedo obtener acceso de sólo lectura al archivo si se registró.

Utilizando el servicio de cliente Web, ¿cómo puedo hacer que el archivo sea revisada cuando edito, y luego hacen que se registró cuando he terminado de editarlo?

Edit: He intentado utilizar las GetFileAttributes y SetFileAttributes para la prueba de FILE_ATTRIBUTE_READONLY, con la esperanza de que podía usar ese indicador para determinar cuando el archivo no se ha desprotegido, y luego para comprobar que funciona (por desarmar esa bandera a la salida, a continuación, configurarlo para comprobarlo in). No hay suerte; el archivo no siempre aparece como sólo lectura.

¿Fue útil?

Solución

Bien para realizar el registro de entrada / salida de un archivo es necesario utilizar el siguiente 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");

Si usted tiene que hacer el check-in / check-out a través del servicio Web de SharePoint entonces usted debe tomar un vistazo al código en el blog de Brad McCable en Windows Sharepoint Services web Servicio Ejemplo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top