Как получить статус Wcf в ответ

#web-services #wcf

#веб-службы #wcf

Вопрос:

Я создал службы WCF и использую DoSomething() такой метод:

  public class MyService : IMyService
{
    public void DoSomething()
    {
        WebOperationContext _ctx = WebOperationContext.Current;
        _ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.OK;

    }
}
  

Кроме того, мне нужно прочитать статус «ок» в моем коде, когда я использую эту службу:

  ServiceClient _serviceClient = new ServiceClient();
            _serviceClient.DoSomething();

            WebOperationContext _ctx = WebOperationContext.Current;
            var statusObj = _ctx.IncomingResponse.StatusCode;
  

Я обнаружил, что _ctx это значение равно нулю

Я хотел бы спросить вас, как прочитать статус в моем statusObj .

Ответ №1:

Вы можете попробовать это ,

Конечная точка Soap :

 WCFServiceClient soapClient = new WCFServiceClient();
            using (OperationContextScope scope = new OperationContextScope(soapClient.InnerChannel))
            {
                    soapClient.DoSomething();
                    var response = (HttpResponseMessageProperty)OperationContext.Current.IncomingMessageProperties["httpResponse"];
                    var status = response.StatusCode;
            }
  

Конечная точка отдыха :

  var client = new RestClient("service-url/rest/DoSomething");
        {
            var request = new RestRequest(Method.GET);
            IRestResponse response = client.Execute(request);
            var status = response.StatusCode;
        }