消耗的WCF服务抛出CarTooOldException,但是我收到FaultException

时间:2015-08-11 11:45:19

标签: asp.net-mvc wcf reflection exception-handling

我有一个MVC项目,它调用WCF服务。在业务规则失败的情况下,WCF服务方法抛出自己的异常CarTooOldException。这个字符串我想向用户显示“Car is too old”。

public class CarTooOldException : Exception
{
    public CarTooOldException(string message) : base(message)
    { }
}

我的MVC代码将捕获异常,但类型是FaultException。但是里面的信息是正确的(“汽车太老了”)。

在不更改WCF服务的情况下,有没有办法检测到这是CarTooOldException?对.GetType()的调用并没有告诉我。

如果我看到这个FaultException消息是一个用户友好的消息并且可以安全地向用户显示,我怎么能确定?

现在我担心我唯一的选择是查看WCF方法抛出的字符串并在message属性上执行.Contains()。

编辑:该方法确实

if (age > MAX_AGE)
    throw new CarTooOldException("Car is too old")

感谢@ 3dd指出我的问题。我理解我无法确定类型是什么,因为编写WCF服务的开发人员没有执行FaultException。

我将寻求进行字符串比较,因为我不想更改服务(遗留代码)。

0 个答案:

没有答案