4 Stimmen

Meine Anwendung bearbeitet eine Datei in SharePoint über Web Client/WebDAV (WebDAV Redirector). Wie kann ich aus-/einchecken?

Ich bin die Integration meiner Anwendung, so dass es Dateien in SharePoint gespeichert bearbeiten können. Ich bin mit dem Web-Client-Dienst AKA WebDAV Redirector (webclnt.dll), die eine wunderbare Arbeit der normalen CreateFile/lesen/schreiben Windows-Api-Aufrufe von ihren normalen Laufwerk-E/A-Pfad aus auf das Netzwerk über WebDAV umgeleitet werden lässt. Ich kann jedoch nur Lesezugriff auf die Datei erhalten, wenn sie eingecheckt ist.

Wie kann ich mit dem Web-Client-Dienst dafür sorgen, dass die Datei ausgecheckt wird, wenn ich sie bearbeite, und dass sie wieder eingecheckt wird, wenn ich die Bearbeitung abgeschlossen habe?

Bearbeiten: Ich habe versucht, mit GetFileAttributes und SetFileAttributes auf FILE_ATTRIBUTE_READONLY zu testen, in der Hoffnung, dass ich dieses Flag verwenden könnte, um festzustellen, wann die Datei nicht ausgecheckt wurde, und sie dann auszuchecken (indem ich das Flag zum Auschecken aufhebe und es dann zum Einchecken setze). Kein Glück; die Datei erscheint immer als nicht schreibgeschützt.

1voto

AboutDev Punkte 1894

Um eine Datei ein- und auszuchecken, müssen Sie den folgenden Code verwenden:

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

Wenn Sie über den SharePoint WebService ein- und auschecken möchten, sollten Sie sich den Code in Brad McCable's Blog ansehen Windows Sharepoint Services Web Service Beispiel .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X