WCF FaultException不发送StackTrace
问题描述:
我有一些WCF服务具有预定义的FaultContract
属性。当引发FaultException<TDetail>
异常时,它们会发送StackTrace,Source和其他潜在的未保存信息。WCF FaultException不发送StackTrace
是否有可能只返回:
- 详细信息(来自通用TDetail)
- FaultMessage
- 的faultcode
- (以及可能的)FaultReason
答
你试过滚动使用IErrorHandler您自己的故障异常?另外请确保在您的应用配置文件中,IncludeExceptionDetailInFaults属性设置为false,this可能对最佳实践有所帮助。
IncludeExceptionDetailInFaults已经是false。据我了解,IncludeExceptionDetailInFaults仅适用于尚未具有FaultException类型的未处理异常。 我已经实现了一个IErrorHandler,以执行一个策略,即所有操作都有一个基本的FaultContract分配,并自动记录并重新引发基本错误类型中未处理的异常。我不知道为什么WCF传递的信息多于在FaultContract中定义。我目前正在用wsHttpBinding和一个SOAP客户端来体验这种行为。 –
reifnir
2010-10-28 21:58:35
事实证明,StackTrace没有发送回客户端的问题。 (问题发生在键盘前面。)我误解了Response窗格中从WCFStorm收到的响应。堆栈跟踪和源只是关于客户端而不是服务器的信息。 IncludeExceptionDetailInFaults明确地只适用于那些不是“众所周知”的异常。感谢Terrance的帮助。 – reifnir 2010-11-04 21:00:12
对不起,我无法帮助更多......但欢迎您。 – Terrance 2010-11-04 21:05:45