2012-04-25 2 views
2

я бросить ошибку в моем REST службы, как:HttpWebRequest - получить содержание ошибки

throw new WebFaultException<String>("bla bla bla", 
    HttpStatusCode.HttpVersionNotSupported); 

, но когда я пытаюсь получить содержимое ошибки в

var r = (HttpWebResponse)(request.GetResponse()); 
if (r.StatusCode != HttpStatusCode.OK) {... 

Проблема заключается в том, что GetResponse() бросает ошибка WebException. И я не могу получить текст «bla bla bla». Как я могу получить этот текст? Исключение в Интернете содержит код состояния HttpVersionNotSupported, но не свойство, которое содержит текст «bla bla bla». Где данные, которые я отправляю в качестве первого параметра исключения WebFaultException?

ответ

0

Попробуйте использовать метод HttpWebResponse.GetResponseStream для доступа к содержимому ответа. Образец кода в ссылке должен показать, как читать и очищать поток.

+0

request.GetResponse throws исключение веб-исключения. Таким образом, я не могу получить доступ к объекту r из своего кода – Ryan

+0

Хммм, я пропустил это в вашем вопросе как-то. Какой тип является переменной 'request'? –

+0

Вы были правы. Webresponse встречается как ex.Response – Ryan

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