WebDav-wie um zu prüfen, ob Ordner vorhanden ist?
Dies ist meine aktuelle Funktion unten. Es wird auch verwendet, um erstellen Sie einen Ordner in einem Dokument Bibliothek in SharePoint, sondern mit web-dav-Funktionalität, die ist einfacher als MOOS-Zeug.
Muss ich einen Weg finden, um zuverlässig bestimmt werden, wenn der Ordner bereits vorhanden ist... Merke jetzt verlasse ich mich auf die, die versuchen zu fangen, aber das bedeutet, dass JEDES Protokoll Ausnahme wird nicht werfen einen Fehler, so ist es nicht eine zuverlässige Funktion. Wie kann ich überprüfen mit web-dav, wenn ein Ordner vorhanden ist?
private void createFolderUsingWebDav(string siteAddress, string listAddress, string folderName)
{
//Check Databox Folder Exists
string folderAddress = siteAddress + @"/" + listAddress + @"/" + folderName;
HttpWebResponse response;
try
{
HttpWebRequest request = (System.Net.HttpWebRequest)HttpWebRequest.Create(folderAddress);
request.Credentials = wsLists.Credentials; //CredentialCache.DefaultCredentials;
request.Method = "MKCOL";
response = (System.Net.HttpWebResponse)request.GetResponse();
response.Close();
}
catch (WebException ex)
{
if (ex.Status != WebExceptionStatus.ProtocolError)
{
throw ex;
}
}
}
Im wesentlichen möchte ich die unverpackte version von dem, was mit diesem Produkt erreicht hier:
http://www.independentsoft.de/webdav/tutorial/exists.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie eine PROPFIND auf die url, erhalten Sie einen 404 zurück, wenn der Ordner nicht vorhanden ist.
Machen die PROPFIND-Aussehen (zeigt nur die relevanten Header)
404 bedeutet, dass die Ressource nicht existiert, 207 bedeutet, dass es tut.
Depth : 0
header für die Leistung.PROPFIND ist dein Freund: der DAV:resourcetype Eigenschaft (http://greenbytes.de/tech/webdav/rfc4918.html#rfc.section.15.9) hat eine DAV:Sammlung child-element für Sammlungen. Einfach abrufen es mit PROPFIND mit DAV:allprop oder DAV:prop (beide beschrieben in http://greenbytes.de/tech/webdav/rfc4918.html#rfc.section.9).