На стороне сервера - да, как уже отмечал Джон, вы можете в основном реализовать интерфейс IErrorHandler
в своем классе обслуживания и фиксировать все ошибки на этой стороне.
Однако на стороне клиента вам просто нужно будет использовать старый добрый .NET try {...} catch {...}
для защиты всех вызовов службы - в конце концов, вы могли бы потенциально
- вызвать сервер, который вообще не существует
- вызвать сервер, который временно недоступен
- слабое сетевое соединение (парень с большим бульдозером оборвал ваш сетевой провод :-))
- больше подобных вещей
Это будут CommunicationExceptions
(или их потомки), и они должны обрабатываться на стороне клиента по мере их возникновения.
Таким образом, вы можете централизованно обрабатывать вещи на стороне сервера (по крайней мере, пока сообщение дошло до вашего класса обслуживания и обрабатывается) - все остальное должно обрабатываться отдельно.
Марк