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