Большинство, если не все исключения, можно увидеть в трассировке WCF ( Настройка трассировки ), а трассировку лучше всего просматривать с помощью Просмотр трассировки служб .
Очевидно, что это не то, что вы должны выполнять весь день в производственной среде, но в любом случае это помогает при устранении неполадок.
Кроме того, обратите внимание, что односторонние действия могут не работать как настоящий «выстрел и забыть» в зависимости от используемого вами SessionMode. Если у вас настроен сервис для SessionMode.Allowed или даже SessionMode.Required, операция одностороннего действия будет выполняться так, как если бы она вообще не была односторонней (это можно наблюдать при использовании односторонних путей через netTcpBinding). Честно говоря, я не знаю, изменит ли это тип исключений, которые вы можете получить, или когда вы их получите. Однако в любом случае вы должны получить исключение, если запрос вообще не может быть отправлен. AFAIK, односторонний путь «заканчивается», когда он успешно обработан на стороне сервера. Таким образом, до этого момента есть место для (связанных со структурой WCF) исключений (на ум приходит сериализация / десериализация).
Затем такие исключения, связанные с платформой, лучше всего видны (даже IErrorHandler не получает их все из-за того, что он вызывается в потоке запросов / ответов) с использованием вышеупомянутой трассировки / трассировщика.