Я написал простой сервис WCF, используя netTcpBinding и режим безопасности = «Сообщение» и clientCredentialType = «UserName». Все работает нормально, когда я передаю действительное имя пользователя и пароль, сессия устанавливается так, как я хотел. Однако, когда учетные данные ошибочны, исключение вызывается, хотя я не могу его поймать в своем клиентском приложении в блоке try catch. У кого-то такая же проблема? Вот мой валидатор ...Как поймать исключение из UserNamePasswordValidator в клиентском приложении WCF?
public class UserValidator : UserNamePasswordValidator
{
static int counter = 0;
public override void Validate(string userName, string password)
{
++counter;
Console.WriteLine(counter.ToString() + " " + DateTime.Now.ToShortTimeString());
if (userName != "test" || password != "test")
throw new FaultException("Bad username or password");
//throw new SecurityTokenException();
}
}