Windows Phone - Как получить код состояния HTTP? - PullRequest
1 голос
/ 07 октября 2011

Мне пришлось вручную подключить сетевой уровеньЧтобы выполнить запрос к веб-службе, я использую следующий код:

public void RunService()
{
  string serviceUrl = Constants.URL_OF_SERVICE;
  WebRequest request = HttpWebRequest.Create(serviceUrl);
  request.BeginGetResponse(new AsyncCallback(Service_Completed), request);
}

private void Service_Completed(IAsyncResult result)
{
  try
  {
    WebRequest request = (WebRequest)(result.AsyncState);
    WebResponse response = request.EndGetResponse(result);

    // Continue doing stuff
  }
  catch (WebException ex1)
  {
    // How do I get the HTTP Status code here?
  }
}

У меня возникают проблемы с получением кода состояния HTTP при возникновении ошибки.Может кто-нибудь сказать мне, как получить код состояния HTTP при возникновении исключения WebException?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 07 октября 2011

Используйте WebResponse, который является частью WebException:

catch (WebException ex1)
{
    using (HttpWebResponse response = (HttpWebResponse) ex1.Response)
    {
        if (response == null)
        {
            // Whatever
        }
        else
        {
            HttpStatusCode status = response.StatusCode;
            // Whatever
        }
    }
}
1 голос
/ 12 июня 2013

Проблема с Windows Phone заключается в том, что ЛЮБАЯ ошибка переводится в «404 not found» - даже если просто нет сети или сервер вообще не отвечает, вы все равно получите «404» - что абсурдно и очевидно ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...