2010-10-28 49 views
8

我有一些WCF服務具有預定義的FaultContract屬性。當引發FaultException<TDetail>異常時,它們會發送StackTrace,Source和其他潛在的未保存信息。WCF FaultException不發送StackTrace

是否有可能只返回:

  • 詳細信息(來自通用TDetail)
  • FaultMessage
  • 的faultcode
  • (以及可能的)FaultReason

回答

3

你試過滾動使用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