servicio example ejemplo create crear c# .net wcf rest

ejemplo - wcf service c# example



¿Cómo puedo devolver un código de estado HTTP personalizado desde un método WCF REST? (7)

Si algo falla en una llamada WCF REST, como que no se encuentra el recurso solicitado, ¿cómo puedo jugar con el código de respuesta HTTP (por ejemplo, configurándolo en HTTP 404) en mi método OperationContract?



Para 404 hay un método integrado en WebOperationContext.Current.OutgoingResponse llamado SetStatusAsNotFound (mensaje de cadena) que establecerá el código de estado en 404 y una descripción de estado con una llamada.

Tenga en cuenta que también hay SetStatusAsCreated (ubicación de Uri) que configurará el código de estado en 201 y el encabezado de ubicación con una sola llamada.


Si desea ver la descripción del estado en el encabezado, el método REST debe asegurarse de devolver nulo desde la sección Catch () como se muestra a continuación:

catch (ArgumentException ex) { WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.InternalServerError; WebOperationContext.Current.OutgoingResponse.StatusDescription = ex.Message; return null; }


Si necesita devolver un cuerpo de razón, eche un vistazo a WebFaultException

Por ejemplo

throw new WebFaultException<string>("Bar wasn''t Foo''d", HttpStatusCode.BadRequest );


También puede devolver un código de estado y cuerpo de razón con StatusCode y StatusDescription :

WebOperationContext context = WebOperationContext.Current; context.OutgoingResponse.StatusCode = HttpStatusCode.OK; context.OutgoingResponse.StatusDescription = "Your Message";