我有一個控制器與幾個操作方法需要從某個數據庫相同的數據列表。由於大多數操作都需要訪問列表,因此我直接在控制器的構造函數中使用必要的數據項列表快速填充私有成員變量。MVC3:如何處理控制器中的構造函數異常?
一切都很好,直到數據庫出現故障並在構造函數中拋出異常。顯然,這規避了正常的HandleError功能。
我的目標是抓住這個異常並將用戶重定向到錯誤視圖。
- 加載所有操作的數據的正確方法是什麼?
- 在OnActionExecuting中放入數據庫調用是否合適?
- 是否有某種方法可以用加載數據的屬性來修飾特定的操作?
- 我過度思考嗎? (畢竟,我可能只是在控制器下降一個私有方法,並從每個動作需要的數據稱呼它)
謝爾蓋,你只是重申了我的建議。獲取數據並從每個操作中調用的私有方法。當我說它只是第一次填充時,我隱式建議緩存列表數據。隨後的調用會從緩存中獲取列表數據。 –