после 2 дней попыток выяснить, почему мой сервис не работает, я наконец нашел причину.Каждый раз, когда я пытаюсь выдать новый FaultException<AuthenticationException>
, сервер на самом деле не выбрасывает это, а ловит его сам.
Итак, когда я выкидываю исключение, сервер падает с необработанным System.ServiceModel.FaultException
1`.
Вот мой класс исключений:
[DataContract]
public class AuthenticationException
{
private string validationError;
[DataMember]
public string ValidationError
{
set { validationError = value; }
get { return validationError; }
}
public AuthenticationException()
{
}
public AuthenticationException(string valError)
{
validationError = valError;
}
}
И мой интерфейс:
[ServiceContract]
public interface IAuthenticator
{
[OperationContract]
[FaultContract(typeof(AuthenticationException))]
Account authenticateApplication(string userName, string Password);
Что может вызвать это?
Изменить: Вот как я бросаю исключение:
catch (Exception)
{
throw new FaultException<AuthenticationException>(new AuthenticationException("There was a general error during the process."), new FaultReason("Error"));
}