2015-06-02 1 views
0

Я думаю, что, возможно, я пытаюсь сделать что-то немного отличное от большинства сообщений здесь. Все, что я нахожу, это тот, кто пытается обойти код ошибки 405, в то время как я пытаюсь проверить, что я получаю этот код ошибки, поскольку он указывает, что мой веб-сервис запущен и доступен.HttpWebRequest - 405 Метод не разрешен - это то, что я ищу

У меня есть следующий код.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://andrewstxpd.tylermobileapps.com/TPSAlloy/Application.svc/execute-json/"); 

     HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
     if (response == null || response.StatusCode != HttpStatusCode.OK) 
     { 
      Console.WriteLine(response.StatusCode + " : " + response.StatusDescription); 
      Console.ReadLine(); 
     } 
     else 
     { 
      Console.WriteLine(response.StatusCode + " : " + response.StatusDescription); 
      Console.ReadLine(); 
     } 

     response.Close(); 

Когда я запускаю его с http://www.google.com он показывает мне OK: OK в консоли.

Когда я запускаю его против моего адреса веб-службы, он попадает в исключение и ошибки с помощью 405 Method Not Allowed, но, конечно, останавливает программу.

Как получить этот текст от ошибки, чтобы действительно проверить его намеренно?

Другими словами, для меня 405 Method Not Allowed - это то, что я ищу специально, поэтому я не хочу, чтобы программа заканчивалась.

+0

BTW, я могу поймать исключение, я пытаюсь присвоить текст ошибки переменной, которую я могу использовать, чтобы проверить, что это 405 я хочу. –

+0

И, понял. Noob проблемы с моей стороны. ex.Message. Дух. –

ответ

0

Итак, я могу поймать исключение с помощью System.Net.WebException. Затем я назначаю это переменной, например, «ex». Затем просто используйте ex.Message для его отображения.

catch (System.Net.WebException ex) 
     { 
      Console.WriteLine("Exception Occurred" + " : {0}", ex.Message); 
      Console.ReadLine(); 
     } 

Done.

Смежные вопросы