Получать ошибки WebClient в виде строки

У меня есть диагностический инструмент, который тестирует веб-службу.

Я хочу, чтобы инструмент сообщал о проблемах, поэтому я развернул службу с проблемой с контрактом, чтобы проверьте его.

Когда я перехожу к нему, я получаю страницу с очень информативным сообщением, например:

An ExceptionDetail, вероятно, созданным с помощью IncludeExceptionDetailInFaults = true, значение которого: System.InvalidOperationException: возникло исключение при вызове WSDL. расширение экспорта:
System.ServiceModel.Description.DataContractSerializerOperationBehavior контракт: DataContract для типа XXX не может быть добавлен в DataContractSet, поскольку тип XXX с тем же именем контракта данных XXX в пространстве имен XXX уже присутствует и контракты не эквивалентны и т. д.

Я хочу иметь возможность вызывать:

myErrorMsg = WebClient.DownloadString("MyBadService.svc");

и получать это полезное сообщение об ошибке в виде строки, однако я получаю следующее исключение WebException:

Удаленный сервер вернул сообщение error: (500) Internal Server Error.

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

Спасибо.

28
задан lockstock 12 August 2011 в 06:50
поделиться