Пользовательское исключение WCF FaultException выдано, но ProtocolException получено клиентом

У меня есть служба WCF, которая закодирована для создания Custom FaultException при определенных условиях. При размещении локально и на нескольких серверах это выполняется так, как ожидается. Пользовательская ошибка, вызванная пользовательской ошибкой службы, обнаруженной клиентом, но на производственном сервере и сервере UAT пользовательская ошибка вызывается тем, что получает клиент, является исключением протокола (ошибка 500).

Кто-нибудь знает о настройке IIS или сервера, которая может повлиять на этот сервер WCF? Эта проблема сводит меня с ума

1 ответ

У меня похожая проблема,

наш сервер использует стороннюю веб-службу, когда клиент подключается к нашему серверу с того же компьютера, наш сервер может обнаружить исключение Fault, но если клиент подключается по сети, наш сервер не может обработать исключение Fault, и только получает "500 Internal Server Error".

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

клиенты используют.Net Remotting для подключения к серверу.

Решение:

добавить RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Выкл; к серверу Remoting, по какой-то причине это влияет на исключения, которые он (сервер) получает. это не идеальное решение, потому что теперь мы выставляем исключения для наших серверов...

Другие вопросы по тегам