/ / ¿Hay alguna forma de realizar una solicitud web en C # que no genere una excepción en los códigos de estado 4xx y 5xx? - c #, rest, couchdb, http-status-code-404

¿Hay alguna forma de realizar una solicitud web en C # que no genere una excepción en los códigos de estado 4xx y 5xx? - c #, rest, couchdb, http-status-code-404

Estoy usando CouchDB como fuente de datos para un servicio web de C #.

Al ser RESTful, CouchDB devuelve un código de estadode 404 cuando se le pide un documento que no existe. La solicitud web estándar de .NET quiere lanzar una excepción a esto, pero (para mí, al menos) comunicar que una fuente de datos ha devuelto "ningún resultado" a través de una excepción es absolutamente horrible; y es un hedor que realmente no quiero flotar en mi código ...

¿Hay algún reemplazo para WebRequest que pueda usar que me permita tratar con los códigos de estado como mejor me parezca?

EDITAR: Solo para aclarar, debido a las respuestas que he tenidolejos: no quiero ocultar la excepción que lanza WebRequest. Estoy buscando una alternativa a la solicitud web estándar que no arroje excepciones basadas en códigos de estado, ya que la interpretación de .NET de lo que constituye un error no parece estar en línea con los principios REST.

EDITAR # 2 Realmente necesito una forma compatible con 3.5 para hacer esto; Lo siento por no ser específico al respecto al principio.

Respuestas

2 para la respuesta № 1

La biblioteca HttpClient no lanza excepciones después de la solicitud. Ver esta para ejemplos de uso.


0 para la respuesta № 2

No los he usado, pero hay varias bibliotecas dedicadas de C # CouchDB para clientes.

Ahi esta CouchOne "s lista de controladores CouchDB.

También está el CouchDB wiki lista de clientes de C #.

Mi preferencia personal es permanecer lo más cerca posible de la capa HTTP. HTTTP es muy simple y la API de CouchDB es muy simple. No hay necesidad de middleware para acceder a él. (Es desafortunado que su WebRequest La clase aparentemente tiene este error.


-2 para la respuesta № 3

No estoy seguro de cuál es tu problema. Si no desea obtener 404 cuando pregunta si no existen documentos, creo que solo necesita agregar un mapa de aplicación comodín en la configuración de IIS y desactivar la casilla "Verificar que el archivo existe".