如何以及何时处理已关闭的数据库?

时间:2010-10-07 18:55:44

标签: c# asp.net-mvc database

我的问题是我必须以某种方式处理数据库在我的MVC应用程序中关闭的情况。那么,我是否应该try{} catch{}在每个控制器中打开连接?或者最佳做法是什么?

注意: 对于示例数据库访问,在少数“管理器”类中被隔离,这些类以工作存储库的方式。

3 个答案:

答案 0 :(得分:4)

为什么要在每个控制器中打开连接。这应该在它自己的可重用类中被隔离。

您可能需要查看存储库模式以实现数据访问。

答案 1 :(得分:3)

如果您没有数据库连接,那么在生产数据库驱动的Web应用程序中,通常这意味着发生的事情远远超出了应用程序的范围。关于你唯一能做的就是给用户一个友好的错误信息,告诉负责修理的人。这是您的全局错误处理的任务,而不是每个控制器。

答案 2 :(得分:2)

好吧,首先,如果你在每个控制器中都有一个单独的数据库处理例程,我会先将它组合成一个基类或一个可重用的成员。

之后,您应该能够使用ASP.NET MVC的[HandleError]属性来指定如何处理数据库中的错误。