после 2 дней попытки выяснить, почему моя служба не работает. Наконец, я нашел причину. Каждый раз, когда я пытаюсь бросить новый FaultException<AuthenticationException>
, сервер на самом деле не бросает это, а сам ловят.Служба WCF бросает странное исключение
Так что происходит, когда я бросаю исключение, сервер сбой с необработанным 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);
Что может привести к этому?
Edit: Это, как я бросаю исключение:
catch (Exception)
{
throw new FaultException<AuthenticationException>(new AuthenticationException("There was a general error during the process."), new FaultReason("Error"));
}
когда, как вы выбрасываете исключение? как происходит сбой сервера? – surfen
Сервер разбился, отправив обратно 500 внутренних ошибок сервера. Это связано с тем, что он обнаружил необработанную System.ServiceModel.FaultException1', как я объяснил выше. – TheGateKeeper
как вы проводите обслуживание? IIS? – surfen