Asp.net mvc 已使用的WCF服务引发CartoolDexception,但我收到FaultException

Asp.net mvc 已使用的WCF服务引发CartoolDexception,但我收到FaultException,asp.net-mvc,wcf,reflection,exception-handling,Asp.net Mvc,Wcf,Reflection,Exception Handling,我有一个MVC项目,可以调用WCF服务。在业务规则失败的情况下,WCF服务方法抛出自己的异常CartoolDexception。这有一个字符串,我想向用户显示,“汽车太旧了” 我的MVC代码将捕获异常,但类型是FaultException。然而,里面的信息是正确的(“汽车太旧了”) 在不更改WCF服务的情况下,是否有方法检测这是CartoolDexception?调用.GetType()不会告诉我 如果我看到此FaultException,如何确保该消息是一条用户友好且安全的消息 现在我担心我唯

我有一个MVC项目,可以调用WCF服务。在业务规则失败的情况下,WCF服务方法抛出自己的异常CartoolDexception。这有一个字符串,我想向用户显示,“汽车太旧了”

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

在不更改WCF服务的情况下,是否有方法检测这是CartoolDexception?调用.GetType()不会告诉我

如果我看到此FaultException,如何确保该消息是一条用户友好且安全的消息

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

编辑:该方法确实如此

if (age > MAX_AGE)
    throw new CarTooOldException("Car is too old")
感谢@3dd为我指出了这个问题。我知道我无法确定类型是什么,因为编写WCF服务的开发人员没有执行FaultException


我想做一个字符串比较,因为我不想更改服务(遗留代码)。

这应该为您指明了正确的方向1)您是否在代码中
抛出新的FaultException(新的CartooldException(“…”)
?2) 您是否已在相应的服务操作上声明了
[FaultContract(typeof(cartooldexception))]
。如有疑问,请向我们展示相关代码。这将为您指明正确的方向1)您是否在代码中
抛出新的FaultException(新的CartooldException(“…”)
?2) 您是否已在相应的服务操作上声明了
[FaultContract(typeof(cartooldexception))]
。如有疑问,请出示相关代码。
if (age > MAX_AGE)
    throw new CarTooOldException("Car is too old")