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"));
}