超過一半我目前在工作的網絡服務項目更多,我的客戶決定通知我剛纔說我永遠不能拋出異常到客戶端應用程序。問題是,直到現在,每當有驗證,數據庫或任何其他類型的錯誤時,我都會拋出FaultException
異常。我將顯然需要改變這種行爲而沒有進一步的問題,但問題是我不知道要替換它。該服務有4-5端點其返回不同的DataContract
結構,所以我想到了設計具有布爾基類(表示失敗或成功)和object
(我會用它來發送序列化的例外,如果他們拋出)領域並使所有其他DataContracts
繼承此結構。但我不確定這是最好的選擇。你建議我做什麼?WCF,異常和繼承
0
A
回答
1
這個要求可能是由於這樣的事實Silverlight的消費者應該訪問,除非他們切換到HTTP客戶端堆棧(隨其自身的缺點),它不能處理以適當的方式對這些例外的服務。
我們已經通過包括故障出在需要由客戶來檢查每一個服務方法簽名參數解決了這個問題。這實際上聽起來比實際上更糟糕。
1
這將肯定對返回一些服務運營工作。所以如果你只有這樣的操作,就像你提出的那樣使用它:嘗試在服務操作中捕獲並在返回的數據合同中包裝異常。
怎麼樣有一個void返回類型的服務業務?你也可以嘗試catch,但是如何將狀態/錯誤返回給客戶端?你想在你的應用中使用這種場景嗎?
+0
是的,我甚至沒有想過這個。我有幾種'void'方法... – User
+0
將「好」數據與「壞」數據混合。 –
相關問題
- 1. 繼承和異常
- 2. 異常繼承
- 3. C++異常和性病繼承::異常
- 4. WCF和繼承
- 5. Python3 - 繼承異常
- 6. 存在異常的繼承異常
- 7. 繼承異常和併發編程
- 8. 實體框架和繼承:NotSupportedException異常
- 9. 在C++中繼承異常
- 10. C++異常繼承模糊
- 11. 無法從異常繼承
- 12. WCF和對象的繼承
- 13. WCF服務繼承
- 14. C#WCF繼承[DataContract]
- 15. CSS繼承和特異性
- 16. 常量和虛擬繼承
- 17. 異常NHibernate的集合/繼承映射
- 18. 的LINQ to SQL繼承InvalidOperationException異常
- 19. 繼承映射拋出異常與MOXy
- 20. 繼承Exception類登錄異常
- 21. 如何在斯卡拉繼承異常
- 22. C++異常/繼承錯誤LNK2019
- 23. 從system.dividebyzeroexception繼承的異常類
- 24. Java:異常,繼承概念不清楚
- 25. Transcation回滾異常繼承RuntimeException
- 26. 在繼承中使用異常
- 27. 繼承類的異常處理
- 28. Java異常的繼承處理
- 29. 方法在騎馬和繼承和異常
- 30. 捕捉異常不會從異常中繼承
爲可在我的情況很好地工作是個好主意,但實際上這聽起來不像是太優雅... – User
以下是關於主題的文章http://msmvps.com/blogs/theproblemsolver/存檔/ 2009/1月27日/返回的異常信息至A-Silverlight的客戶通wcf.aspx –
謝謝!那麼,我想我必須真正使用這種方法。我從來沒有想過這個問題......它可能不是太高雅了,但如果客戶想要的東西,優雅的這個要求就不會被提出反正...所以,去上班改變每一個簽名! – User