Мое приложение редактирует файл в SharePoint через веб-клиент / WebDAV (перенаправитель WebDAV).Как я могу выехать / зарегистрироваться?

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

  •  22-08-2019
  •  | 
  •  

Вопрос

Я интегрирую свое приложение, чтобы оно могло редактировать файлы, хранящиеся в SharePoint.Я использую службу веб-клиента, ИЗВЕСТНУЮ как WebDAV Redirector(webclnt.dll ), который прекрасно справляется с тем, чтобы обычные вызовы CreateFile / read / write Windows API перенаправлялись с их обычного пути ввода-вывода с диска в сеть через WebDAV.Однако я могу получить доступ к файлу только для чтения, только если он зарегистрирован.

Используя службу веб-клиента, как я могу вызвать извлечение файла при его редактировании, а затем вернуть его обратно, когда я закончу его редактирование?

Редактировать:Я попытался использовать GetFileAttributes и SetFileAttributes для проверки FILE_ATTRIBUTE_READONLY , надеясь, что смогу использовать этот флаг, чтобы определить, когда файл не был извлечен, а затем проверить его (сбросив этот флаг на check out, а затем установив его на check in).Здесь не повезло;файл всегда отображается как не доступный только для чтения.

Это было полезно?

Решение

Ну, чтобы выполнить возврат / извлечение файла, вам нужно использовать следующий код:

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, то вам следует взглянуть на код в блоге Брэда Маккейбла на Пример веб-службы Windows Sharepoint Services.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top