WCF服务抛出奇怪的异常

时间:2012-03-31 15:45:48

标签: c# winforms wcf

在试图找出我的服务无效的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"));
            }

1 个答案:

答案 0 :(得分:1)

可能您的IIS服务器未配置为允许将异常传递给客户端。

按照步骤2“为远程客户端启用详细错误”。 this post