【问题标题】:How to specify only certain FaultExceptions to be Passed?如何仅指定要传递的某些 FaultExceptions?
【发布时间】:2012-11-02 01:35:40
【问题描述】:

我有一个 WCF 服务,并且有一个继承自 FaultException 的 CustomFaultException 类。

我设置了以下代码:

<serviceDebug includeExceptionDetailInFaults="False"/>

但它总是返回带有完整堆栈跟踪详细信息的异常。

如何配置或实现 WCF 服务,以便仅返回某些类型的异常,例如自定义故障异常?

谢谢

【问题讨论】:

  • 据我所知,WCF 默认不包含异常详细信息,因此您必须有一些代码或配置来激活向客户端发送异常详细信息。

标签: c# asp.net wcf exception faultexception


【解决方案1】:

将以下属性添加到您的服务操作:

[FaultContract(typeof(CustomFaultException))]

在你的捕获中,添加以下内容:

throw new CustomFaultException("Custom Fault Message");

这将阻止将完整的堆栈跟踪异常详细信息发送到客户端。

【讨论】:

  • 我应该指出,在故障契约中使用异常类不是最佳实践。但是,它正确回答了问题,所以 +1。
猜你喜欢
  • 2018-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 2014-01-13
  • 1970-01-01
  • 1970-01-01
  • 2015-12-23
相关资源
最近更新 更多