Как я могу прочитать пользовательский код состояния HTTP с помощью WCF REST?

StackOverflow https://stackoverflow.com/questions/415206

  •  03-07-2019
  •  | 
  •  

Вопрос

Я использую ChannelFactory в WCF для вызова службы REST и хочу определить, вернул ли сервер HTTP 200 или 201 в ответ на вызов PUT. В настоящее время вызов успешен, но я не могу определить, был ли мой объект создан или обновлен. Как я могу это сделать?

Это было полезно?

Решение

WCF предназначен для всех видов каналов, так что это не объект высокого уровня

Вы можете получить к нему доступ через что-то вроде этого

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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top