尋找在多層應用程序中管理錯誤代碼和消息的建議/最佳實踐。具體如下:.NET中的錯誤代碼/消息管理的方法
- 應該在哪裏定義錯誤代碼?枚舉?類?
- 錯誤消息或與錯誤代碼相關的更多詳細信息如何?資源文件?枚舉值的屬性等?
- 如果您有一個由DAL,BLL,UI和Common項目組成的多層應用程序,例如,是否應該爲所有層提供一個龐大的代碼列表,或者代碼是否可以通過項目/層擴展?
更新:重要一提的是,我不能僅僅依靠異常和自定義異常類型的錯誤報告,因爲一些客戶對這個應用程序將通過Web服務(SOAP & REST)
歡迎任何建議!
感謝您的意見。我已經更新了原始問題,提到我不能僅僅依賴異常,因爲有些客戶端將通過Web服務,特別是沒有「異常類型」概念的REST Web服務。看看一些互聯網API(Facebook,Flickr等),讓我相信這種使用方式中的錯誤代碼是最好的選擇。 – WayneC 2010-03-06 16:17:14
@WayneC:SOAP Web服務可以訪問SOAP Faults。太糟糕了,REST要求你恢復到90年代初。 – 2010-03-06 16:29:12
@John:你是說REST API是「90年代初」?有人更好地告訴Facebook,Flickr,Netflix,Twitter,Google等,他們應該與時俱進! :-)即使採用異常方法,錯誤代碼對於進一步對異常進行分類仍然很有價值。例如,如果您有自定義的ValidationException,那麼您可以使用錯誤代碼來詳細說明失敗的驗證類型,而不是爲每個驗證方案創建新的自定義異常類型。 – WayneC 2010-03-06 22:56:11