我目前正在开发一个 MVC 4 项目,我们决定使用普通的旧 SQL,而不是依赖 EntityFramework。
我现在的问题是初始化数据库连接的最佳实践是什么。我考虑过使用单例打开连接(连接字符串存储在 Web.config 中),然后在整个应用程序生命周期中使用已建立的连接,但我不确定这是否是一个好方法!
我目前正在开发一个 MVC 4 项目,我们决定使用普通的旧 SQL,而不是依赖 EntityFramework。
我现在的问题是初始化数据库连接的最佳实践是什么。我考虑过使用单例打开连接(连接字符串存储在 Web.config 中),然后在整个应用程序生命周期中使用已建立的连接,但我不确定这是否是一个好方法!
对于数据库连接,越晚打开越早关闭。
您应该在必要时创建连接对象,而不是使用单例连接,如果使用using
块则更好,因为 Connection 实现IDisposable
并且您应该在完成连接后处理连接。
ODP.NET
支持连接池,因此没有理由(除非在您的特定情况下另有证明)来保留Singleton
您的OracleConnection
对象。
这里的最佳实践是 imo 为每个语句使用连接(.NET 连接对象,而不是物理连接)。
using(OracleConnection connection = ...)
{
...Do work here
}
如果您想了解更多关于您刚刚描述的类似方法的信息,请查看此处:https ://stackoverflow.com/a/10153406/1289283 。我已经回答了这种困境。确保您不会在每个应用程序规模上执行此操作,而是在每个请求上执行此操作,否则您会遇到麻烦。每个应用程序适用于单用户桌面应用程序,而不适用于网络应用程序!并且不要为此使用单例...