我发布了一条question关于使用消息与故障异常来传达服务之间的业务规则。WCF - 在您的服务中抛出FaultExceptions的开销
我的印象是它承受了开销,通过线路抛出这个异常,但考虑到它只是一个被序列化和反序列化的消息,事实上它们是一样的。
但是这让我想到抛出一般的异常或更具体地抛出FaultExceptions。
现在我的服务范围内,如果我使用
throw new FaultException
沟通,如“您的帐户尚未激活”一个简单的业务规则, 什么开销,这是否现在带? 与在.NET中引发常规异常相同吗?或者WCF服务使用故障契约来更有效地处理这些问题。
所以在我的用户为例,这是写我的服务方法
选择最佳/首选方式
public void AuthenticateUser()
{
throw new FaultException("Your account has not been activated");
}
选项B
public AutheticateDto AutheticateUser()
{
return new AutheticateDto() {
Success = false,
Message = "Your account has not been activated"};
}
所以,你是选择B的人? – WebDude 2008-09-19 06:49:23