2012-09-06 9 views
5

Ich versuche, einen einfachen Web-API-Controller als WebDAV-Server zu erstellen, da ich nur Verzeichnislisten und Lesezugriff auf Dateien zulassen möchte wie Integration mit dem aktuellen Authentifizierungssystem, das wir in unserem System haben.Asp.Net 4.5 Web API - Zurück HTTP-Statuscode 207

Ich habe es geschafft, das Verzeichnis und die Dateiauflistung funktionieren zu lassen, wenn Sie einen WebDAV-Client (DAVExplorer) verwenden, aber das Zuordnen eines Netzwerklaufwerks in Windows Explorer spielt einfach nicht Ball.

Während ich nicht herausgefunden habe, warum dies nicht funktioniert, ist eine Möglichkeit, wenn ein WebDAV-Server die Ergebnisse einer PROPFIND-Anfrage zurückgibt, mit einem HTTP-Statuscode von 207 Multi Status. Dies scheint nicht im HttpStatusCode Enumerator zu sein, der vom Objekt HttpResponseMessage verwendet wird.

Ich habe versucht, herauszufinden, was tatsächlich die HttpResponseMessage in die Antwort an den Browser zurückgegeben, denke, ich könnte meine eigene Version implementieren und beschäftigen sich mit der Ausgabe der Statuscode selbst, aber ich hatte kein Glück damit bisher.

Jeder hat irgendwelche Vorschläge, wie ich einen API-Controller implementieren könnte, der einen 207-Statuscode zurückgibt?

Antwort

7

können Sie werfen jede int zu HttpStatusCode

public HttpResponseMessage Get() 
{ 
    var response = Request.CreateResponse((HttpStatusCode)207, "something"); 
    return response; 
} 
+0

Ha, ich Sie fast gestern pinged einen Blick auf diese Frage zu haben, aber ich dachte, Sie genug in den letzten paar Wochen abgehört hatte! Allerdings ist Windows Explorer * immer noch nicht glücklich, also weiter zum nächsten Problem! –

+0

haha! Viel Glück –