Domanda

Sto utilizzando ChannelFactory in WCF per chiamare un servizio REST e voglio determinare se il server ha restituito HTTP 200 o 201 in risposta a una chiamata PUT. Attualmente, la chiamata ha esito positivo, ma non riesco a determinare se il mio oggetto è stato creato o aggiornato. Come posso farlo?

È stato utile?

Soluzione

WCF è progettato per tutti i tipi di canali, quindi questo non è un oggetto di alto livello

Puoi accedervi con qualcosa del genere

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();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top