2012-09-06 12 views
5

Estoy intentando crear un controlador simple de API web para que funcione como servidor WebDAV, ya que solo quiero que permita listados de directorios y acceso de lectura a archivos, así como integrar con el sistema de autenticación actual que tenemos en nuestro sistema.Asp.Net 4.5 Web API - Código de estado HTTP de retorno 207

He logrado que el directorio y la lista de archivos funcionen cuando uso un cliente WebDAV (DAVExplorer), sin embargo, mapear una unidad de red en el Explorador de Windows no es jugar a la pelota.

Aunque no he averiguado por qué esto no funciona, una posibilidad es que cuando un servidor WebDAV devuelve los resultados de una solicitud PROPFIND, lo hace con un código de estado Http de 207 Multi Status. Esto no parece estar en el enumerador HttpStatusCode que utiliza el objeto HttpResponseMessage.

He intentado averiguar qué es lo que realmente convierte el HttpResponseMessage en la respuesta devuelta al navegador, pensando que podría implementar mi propia versión y tratar de generar el código de estado, pero no he tenido suerte con eso hasta aquí.

¿Alguien tiene alguna sugerencia sobre cómo podría implementar un controlador API que devuelva un código de estado 207?

Respuesta

7

Usted puede lanzar cualquier int a HttpStatusCode

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

Ha, casi te pinged ayer a echar un vistazo a esta pregunta, pero pensé que te había molestó lo suficiente el último par de semanas! Sin embargo, Windows Explorer * todavía * no está contento, ¡así que sigue con el siguiente problema! –

+0

jaja! buena suerte –

Cuestiones relacionadas