WCF服务抛出异常
本文关键字:抛出异常 服务 WCF | 更新日期: 2023-09-27 18:29:47
经过两天的努力,我终于找到了原因。每次我尝试抛出一个新的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"));
}
可能您的IIS服务器未配置为允许向客户端传递异常。
按照本帖的步骤2"为远程客户端启用详细错误"