Ich habe einfachen WCF-Dienst mit netTcpBinding und Sicherheitsmodus = "Message" und clientCredentialType = "UserName" geschrieben. Alles funktioniert gut, wenn ich den gültigen Benutzernamen und das Passwort übergebe, die Sitzung wird so eingerichtet, wie ich es wollte. Wenn jedoch die Anmeldeinformationen falsch sind, wird die Ausnahme ausgelöst, obwohl ich sie nicht in meiner Clientanwendung in try catch blockieren kann. Hat jemand das gleiche Problem? Hier ist meine benutzerdefinierten Validator ...Wie Abfangen von Ausnahme von UserNamePasswordValidator in WCF-Clientanwendung?
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();
}
}