如何在ASP.Net應用程序中管理數據庫連接?連接管理ASP.net
我的理解告訴我,「最好的」方法是打開連接,進行查詢,關閉連接,並多次執行此操作,因爲連接池使成本變得可忽略不計。
問題來了,當我有一個DAL,其中每個方法看起來自己的連接。例如。
User x = DAL.GetUserDetails(); Customer y = DAL.GetCustomer();
這是罰款,直到我們開始談論的TransactionScope
using (TransactionScope t.... { DAL.UpdateCustomer(y); DAL.UpdateUser(x); t.Complete(); }
ASP.Net想現在使用DTC,因爲(我猜)有涉及多個連接。
有人會說「緩存連接somwhere」,但我需要顯式銷燬連接,因爲我管理安全的方式(作爲/恢復),我不想打電話每一頁都這樣做,因爲有人會忘記打電話。我也可以將連接傳遞給每個方法,但這並不理想,因爲頁面必須管理連接。
我有意義還是錯過了一些基本的東西?
好主意,所以如果我理解正確:在dal方法中,我可以看看TransactionScope.Current。如果它不爲null,則使用該事務以及與該事務相關的連接。如果它爲空創建一個連接,因爲我目前做? – 2008-12-05 01:28:25
我必須先給它一個去,然後我給它一個大的勾號 – 2008-12-05 01:30:26