Question

J'utilise ChannelFactory dans WCF pour appeler un service REST et je veux déterminer si le serveur a renvoyé HTTP 200 ou 201 en réponse à un appel PUT. Actuellement, l'appel aboutit, mais je ne peux pas déterminer si mon objet a été créé ou mis à jour. Comment puis-je faire cela?

Était-ce utile?

La solution

WCF est conçu pour toutes sortes de canaux, il ne s'agit donc pas d'un objet de haut niveau

Vous pouvez y accéder avec quelque chose comme ceci

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();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top