Создание исключения из службы (я полагаю) приведет к неисправности канала, и клиент получит неописательное сообщение.Это сделано специально - WCF «скрывает» исключения на стороне службы.
Чтобы вернуть клиенту ошибку, чтобы клиент мог ее обработать, следует использовать исключение FaultException.Вы можете указать FaultContract для операции, которая будет возвращена клиенту.
Выполните поиск по обработке ошибок в WCF, и вы должны получить множество примеров.У меня мало времени или я бы добавил немного, но, надеюсь, это укажет вам правильное направление.
Отредактировано, чтобы добавить
Изменить строку
throw new SecurityTokenValidationException("Usuário/Senha inválido");
до
throw new FaultException("Usuário/Senha inválido");
Создание исключения FaultException предотвратит сбой связи - клиент может затем получить исключение, узнать, что это произошло из-за сбоя проверки, и решить, что делатьс этого момента (повторите попытку, попросите пользователя повторно ввести учетные данные и т. д.).
Это очень простое изменение, и пример должен проиллюстрировать это.Ссылки, которые я разместил ниже, предоставят более подробную информацию.