我有一个控制器与几个操作方法需要从某个数据库相同的数据列表。由于大多数操作都需要访问列表,因此我直接在控制器的构造函数中使用必要的数据项列表快速填充私有成员变量。MVC3:如何处理控制器中的构造函数异常?
一切都很好,直到数据库出现故障并在构造函数中抛出异常。显然,这规避了正常的HandleError功能。
我的目标是抓住这个异常并将用户重定向到错误视图。
- 加载所有操作的数据的正确方法是什么?
- 在OnActionExecuting中放入数据库调用是否合适?
- 是否有某种方法可以用加载数据的属性来修饰特定的操作?
- 我过度思考吗? (毕竟,我可能只是在控制器下降一个私有方法,并从每个动作需要的数据称呼它)
谢尔盖,你只是重申了我的建议。获取数据并从每个操作中调用的私有方法。当我说它只是第一次填充时,我隐式建议缓存列表数据。随后的调用会从缓存中获取列表数据。 –