¿Cómo puedo leer el código de estado HTTP personalizado usando WCF REST?
-
03-07-2019 - |
Pregunta
Estoy usando ChannelFactory en WCF para llamar a un servicio REST y quiero determinar si el servidor devolvió HTTP 200 o 201 en respuesta a una llamada PUT. Actualmente, la llamada es exitosa, pero no puedo determinar si mi objeto fue creado o actualizado. ¿Cómo puedo hacer esto?
Solución
WCF está diseñado para todo tipo de canales, por lo que no es un objeto de alto nivel
Puedes acceder a él con algo como esto
factory.Endpoint.Behaviors.Add(new WebHttpBehavior());
IMyContract proxy = factory.CreateChannel();
using (OperationContextScope scope = new OperationContextScope((IContextChannel)proxy)) {
proxy.MyMethod("Some data"));
var responseCode = WebOperationContext.Current.IncomingResponse.StatusCode;
}
((IClientChannel)proxy).Close();
factory.Close();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow