WCF FaultException不发送StackTrace

问题描述:

我有一些WCF服务具有预定义的FaultContract属性。当引发FaultException<TDetail>异常时,它们会发送StackTrace,Source和其他潜在的未保存信息。WCF FaultException不发送StackTrace

是否有可能只返回:

  • 详细信息(来自通用TDetail)
  • FaultMessage
  • 的faultcode
  • (以及可能的)FaultReason

你试过滚动使用IErrorHandler您自己的故障异常?另外请确保在您的应用配置文件中,IncludeExceptionDetailInFaults属性设置为false,this可能对最佳实践有所帮助。

+2

IncludeExceptionDetailInFaults已经是false。据我了解,IncludeExceptionDetailInFaults仅适用于尚未具有FaultException 类型的未处理异常。 我已经实现了一个IErrorHandler,以执行一个策略,即所有操作都有一个基本的FaultContract分配,并自动记录并重新引发基本错误类型中未处理的异常。我不知道为什么WCF传递的信息多于在FaultContract中定义。我目前正在用wsHttpBinding和一个SOAP客户端来体验这种行为。 – reifnir 2010-10-28 21:58:35

+3

事实证明,StackTrace没有发送回客户端的问题。 (问题发生在键盘前面。)我误解了Response窗格中从WCFStorm收到的响应。堆栈跟踪和源只是关于客户端而不是服务器的信息。 IncludeExceptionDetailInFaults明确地只适用于那些不是“众所周知”的异常。感谢Terrance的帮助。 – reifnir 2010-11-04 21:00:12

+0

对不起,我无法帮助更多......但欢迎您。 – Terrance 2010-11-04 21:05:45