Остановите Silverlight 5 от бросания WebExceptions для кодов статусов не 200?
-
14-11-2019 - |
Вопрос
Я пытаюсь разработать клиентское приложение, которое вызывает спокойную веб-службу.В рамках спокойного дизайна сервис использует различные коды состояния HTTP для передачи состояния обратно к абонеру.Например, если я запрошу ресурс, который не существует, служба отвечает с кодом состояния 404.Точно так же, если я передаю в неработавшие параметры, сервис отвечает кодом состояния состояния 400 (плохой запрос).Silverlight 5 автоматически преобразует их в WebExceptions.Есть ли в любом случае, я могу получить SL, чтобы не бросать исключения, но вернуть законный объект ответа с кодом состояния и т. Д. Установить к тому, что было получено, чтобы я мог решить, как справиться с ответом в моем коде?
(для дальнейшего уточнения, кажется, это только случай для кодов состояния в диапазонах 400 и 500.)
Решение
AFAIK, there is no solution to avoid exceptions. Worse than that, it might be hard or even impossible to get the actual HTTP code (I'm not certain there, I haven't tried too hard).
You'll probably want to develop an HTTP request tool that traps WebException
and provide an error status to the caller.