5
在DDD設計的ASP.NET MVC2 Web應用程序中,有關錯誤處理的「最佳實踐」是什麼?例如,讓我們的網絡應用中最常見的方式,登錄:處理DDD風味ASP.Net中的錯誤MVC2 Web應用
- UserController的:顯然座標 幾個領域對象最終 登錄或拒絕用戶,並 重定向到其他地方的網頁 根據需要。在我的情況下,它是 幾個調用不同的UserTasks 方法,如IsLoggedIn()或LogIn(), 加上一些RedirectToAction。
- UserTasks:有協調相關領域 對象服務,如 SecurityService和下級域 對象,如調用 SecurityService.ValidateUser()或 檢查User.IsUserInactive()的工作 的肉。
- SecurityService:顯然 座標 認證/授權 服務。類似於 MembershipProvider,沒有 超重行李。
- 用戶:表示用戶。不是 貧血症,因爲它有各種 用戶特定的方法,如 IsuUserInactive(),檢查 IsDeleted,IsLockedOut或用戶 介於FromDt和ThruDt之間。
你是如何冒出錯誤,使他們是信息性的,而不是敵對用戶?你是否拋出異常的代碼,然後在Application_Error()中處理它們?例如,如果ValidateUser()在密碼爲空時拋出ArgumentNullException(),並且在密碼不正確時拋出AuthenticationException(),或者返回bool = false?如果是後者,你如何告知用戶導致驗證失敗的原因?