Pergunta

Eu estou usando o ChannelFactory em WCF para chamar em um serviço REST e eu quero para determinar se o servidor retornou HTTP 200 ou 201, em resposta a uma chamada PUT. Atualmente, a chamada tiver êxito, mas não posso determinar se o meu objeto foi criado ou atualizado. Como posso fazer isso?

Foi útil?

Solução

WCF é projetado para todos os tipos de canais de modo que este não é um objeto de alto nível

Você pode acessá-lo embora com algo como isto

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top