如何在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