我目前正在開發一個MVC 4項目,並且我們決定使用普通的舊SQL並且不依賴於EntityFramework。初始化數據庫連接的最佳實踐
我現在的問題是初始化數據庫連接的最佳做法是什麼。我想過使用打開連接的單例(連接字符串存儲在Web.config中),然後在整個應用程序生命週期中使用已建立的連接,但我不確定這是否是一種好方法!
我目前正在開發一個MVC 4項目,並且我們決定使用普通的舊SQL並且不依賴於EntityFramework。初始化數據庫連接的最佳實踐
我現在的問題是初始化數據庫連接的最佳做法是什麼。我想過使用打開連接的單例(連接字符串存儲在Web.config中),然後在整個應用程序生命週期中使用已建立的連接,但我不確定這是否是一種好方法!
用於數據庫連接,儘可能遲地打開並儘早關閉。
您應該在有需要時創建連接對象,而使用using
塊更好,因爲Connection實現了IDisposable
,您應該在完成連接時處置連接。
ODP.NET
支持連接池,因此沒有任何理由(除非在您的具體情況下證明是另有說明)保留OracleConnection
對象的Singleton
對象。
這裏的最佳做法是爲每個語句使用連接(.NET連接對象,而不是物理連接)。
using(OracleConnection connection = ...)
{
...Do work here
}
如果您想了解更多有關類似方法的信息,請點擊此處:https://stackoverflow.com/a/10153406/1289283。我已經回答了這種困境。確保你不會按照應用程序的規模來做這件事,而是按照每個請求來做,否則你會陷入困境。每個應用程序對單用戶桌面應用程序都適用,不適用於webapps!並且不要爲此使用單例...
沒有最好的方法,只有最適合您的需求和情況,而且您必須自己弄清楚。這是非常有見地的,不適合在這裏恐怕.. – walther 2013-02-20 09:22:27
你的意思是在整個應用程序生命週期中使用相同的連接實例? – 2013-02-20 09:22:45