Как обычно: зависит: -)
Если у вас есть экземпляры для каждого вызова или односторонние сообщения, то даже если на сервере произойдет что-то плохое (исключение), они будут переданы клиенту (или в односторонних сценариях: просто отброшены ), и вам не нужно беспокоиться о них все время.
ОДНАКО: если у вас есть сценарий сеанса, где либо ваш транспортный протокол (TCP / IP в случае привязки netTtcp) использует транспортный сеанс, или где, например, ваш. wsHttpBinding устанавливает сеанс приложения с сервером, после чего вам нужно быть абсолютно уверенным на сервере, чтобы он перехватывал все исключения, обрабатывал их и возвращал только как ошибки SOAP.
Если вы этого не сделаете, то канал (канал связи между экземпляром прокси вашего клиента и экземпляром сервера) будет "неисправен", например, невозможно использовать, и экземпляр прокси-клиента необходимо будет воссоздать.
Кроме того, имейте в виду, что исключения .NET - это просто особенность .NET. Если ваш сервис должен быть совместимым и вызываться, например, с. Java, Ruby, PHP или другие клиенты, вы абсолютно ДОЛЖНЫ отлавливать все исключения .NET на стороне сервера и превращать их в ошибки SOAP (которые являются совместимым эквивалентом). Вы можете сделать это, внедрив интерфейс IErrorHandler на стороне вашего сервера.
Марк