我正在使用NetDataContractSerializer通過WCF序列化異常。當我得到NHibernateADOException(這是客戶端未知的)時,我得到了FaultException。不幸的是我失去了內部異常信息的這個原因。有什麼方法可以將未知異常(或任何其他類型)反序列化爲指定的已知類型,或者是否有其他解決方案來解決該問題?WCF異常編組和InnerException
回答
您希望在服務行爲上將includeExceptionDetailsInFaults
設置爲true。
看到這個問題:
您可以在web.config中設置該返回例外:
<serviceDebug includeExceptionDetailInFaults="true"/>
此標記必須放在serviceBehavior標籤內,通常像這樣:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
詳細信息示例N:
服務器堆棧跟蹤:EM System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc & RPC)EM System.ServiceModel.Channels.ServiceChannel.Call(串動, 布爾單向,ProxyOperationRuntime操作,對象[]插件, 對象[]奏,時間跨度超時)EM System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage 包括methodCall,ProxyOperationRuntime操作)EM System.ServiceModel.Channels.ServiceChannelProxy.Invoke(即時聊天 消息) EM System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即時聊天 reqMsg,即時聊天retMsg)EM System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData & MSGDATA:在[0]
異常重新拋出,的Int32類型)EM IMyService.GetDataOperation(RequestObterBeneficiario 請求)EM MyServiceClient.GetDataOpration( 的RequestData請求)
這將返回給客戶端的詳細信息。 在開發過程中這可以幫助您,但是當您的服務轉到生產時,您將不再保留這一點,因爲您的服務可以發送敏感數據,如數據庫名稱或配置。
- 1. 的InnerException = {「異常來自HRESULT:0x8004231C」}
- 2. WCF,異常和繼承
- 3. WCF故障和異常
- 4. WCF FileNotFoundException異常
- 5. .NET WCF異常
- 6. 異常在WCF
- 7. 異常從WCF
- 8. WCF異常Handaling
- 9. WCF抓住異步異常
- 10. 編組參數異常
- 11. WCF通訊異常
- 12. WCF服務異常
- 13. WCF拋出異常
- 14. WCF協議異常
- 15. Wcf異常處理
- 16. WCF異常處理
- 17. WCF端點異常
- 18. WCF安全異常
- 19. WCF調用異常
- 20. WCF異常:InvalidOperationException異常是未處理
- 21. Silverlight和WCF:處理'WCF down'異常/ WCF連接檢查
- 22. WCF,通道工廠和異常
- 23. WCF錯誤和異常處理
- 24. 可序列化的異常和WCF
- 25. 與char數組的編組異常
- 26. iOS EKRecurrenceRule異常和編輯
- 27. 異常和數組問題
- 28. 消費WCF服務時奇怪的異常(可能是字符編碼異常?)
- 29. wcf類庫跨域異常
- 30. WCF全局異常處理