ASP.NET ASMX服務偶爾會拋出異常。但是,global.asax Application_Error方法似乎無法捕獲它們。問題是,如何配置全局錯誤處理程序來捕獲和記錄這些異常?如何處理asmx服務拋出的異常?
3
A
回答
0
它是拋出異常的ASMX或AJAX JavaScript嗎?
如果是Javascript,則需要將異常處理寫入JS中,然後將其推回到服務器以便在錯誤數據存儲中進行跟蹤 - 可能需要通過對您的web服務的另一個調用。
如果它是ASMX,那麼它可能會被Application_Error捕獲,但是由於ASMX返回XML或JSON,它不一定會顯示在您的UI上,除非您正在查找它。
0
客戶端我會簡單地將您的調用打包到JavaScript中的服務中。 在服務器端,應將錯誤記錄爲服務器日誌。 http 500錯誤
2
ASMX web服務的基本問題(這不是問題)是服務層後面的任何異常作爲SOAP異常拋出給客戶端。您需要捕獲SOAP異常,然後在那裏查找內部異常。
更好和乾淨的方法是在應用程序中實現SOAP處理程序。通過這個序列化SOAP異常並在客戶端反序列化它。這樣你就可以完全控制異常流程,而不是.net框架。
HTH
+0
你能指出我對這個方向正確嗎?我目前正在嘗試創建一個全局異常處理程序,它不允許任何異常在asmx文件之外進行傳播(而不是使用自定義有效內容對象來表示錯誤)。輸出實際上是JSON而不是SOAP,但是因爲我沒有經驗覆蓋這部分的asp.net基礎結構,所以任何可以指向我的東西都將非常有幫助。 – Fred 2014-07-03 23:57:39
相關問題
- 1. 處理異步ASMX Web服務異常
- 2. ASMX Web服務拋出異常了垃圾xhr.responseText客戶端
- 3. Python:如何處理由urllib2中的服務器拋出的異常?
- 4. Xamarin.Android:異步任務拋出未處理的異常
- 5. 處理IntList.remove()拋出的ArrayIndexOutOfBounds:10異常
- 6. 處理由QPluginLoader :: load()拋出的異常:
- 7. @ControllerAdvice不處理拋出的異常
- 8. 處理(畢加索)拋出的異常
- 9. 異常處理:拋出,拋出和拋出
- 10. Web服務異常處理
- 11. Web服務異常處理
- 12. ReactiveUI 7.0如何處理拋出異常時處置的observables
- 13. 捕獲異常異步Web服務完成的事件處理程序拋出
- 14. 嘗試拋出異常處理
- 15. Wcf異常處理拋出錯誤
- 16. 處理onSubmitAction後拋出異常
- 17. android服務如何對未處理的異常做出反應?
- 18. 處理異常時拋出的額外的未捕獲異常
- 19. 如果mongodb未運行,如何處理mongoskin拋出的異常?
- 20. 重寫方法不會拋出異常時的異常處理
- 21. 多個異常拋出函數的異常處理實踐
- 22. 如何處理PHP 5.4中的方法拋出的異常?
- 23. c#並行處理拋出任務資源中的NullReference異常
- 24. 向wcf服務拋出異常
- 25. 在Windows服務中拋出異常
- 26. Restful web服務拋出servlet.init()異常
- 27. 春天web服務拋出異常
- 28. Web服務類拋出異常
- 29. 如何處理拋出異常的文件析構函數?
- 30. 如何處理Undertow工作線程拋出的異常?
您是否嘗試過使用WebMethods中的try/catch? – Kon 2008-10-14 13:20:20