Как скрыть ошибку десериализации WCF в HTTP-ответе
Как я могу настроить сообщение об ошибке в ответе HTTP? Вместо приведенной ниже ошибки мне нужно показать пользовательское сообщение об ошибке в HTTP-ответе.
a: Ошибка десериализации. Форматер выдал исключение при попытке десериализации сообщения: произошла ошибка при попытке десериализации параметра https://test/Common:SearchCriteria. Сообщение InnerException было "Произошла ошибка десериализации объекта типа System.String. Байт 0x1D недопустим в этом месте. Строка 1, позиция 307.'. Пожалуйста, смотрите InnerException для более подробной информации.
1 ответ
Вам нужно будет реализовать пользовательский необработанный обработчик ошибок. Этот отличный пост в блоге рассказывает о том, как реализован обработчик ошибок и ваш сервис настроен на его использование. Вам нужно будет проверить необработанное исключение для определенного типа десериализации и создать собственное сообщение об ошибке, чтобы заменить его.