注入连接字符串与注入
我使用StructureMap将各种服务注入到我的ASP.NET MVC应用程序中,其中大部分需要访问数据库以进行LINQ-to-SQL查询。注入
我应该注意哪些连接池优缺点?
IDbConnection
实例之间的权衡是什么?我使用StructureMap将各种服务注入到我的ASP.NET MVC应用程序中,其中大部分需要访问数据库以进行LINQ-to-SQL查询。注入
IDbConnection
似乎比通用连接string参数更易于测试和配置IoC,但我担心如果我没有明确地将连接包装在using
块中,那么开放的连接会挂起。我应该注意哪些连接池优缺点?
注入的连接字符串
using (var con = new SqlConnection(InjectedConnectionString))
{
con.Execute("INSERT INTO Logs (...) VALUES (...)");
using (var db = new MyDataContext(con))
{
var records = from p in db.Products
select p;
}
}
Injected IDbConnection
con.Execute("INSERT INTO Logs (...) VALUES (...)");
using (var db = new MyDataContext(InjectedConnection))
{
var records = from p in db.Products
select p;
}
using
块,它确保连接始终会被关闭。 - Daiusing
时才会发生。当注入IDbConnection
时,我不需要这样做,这就是区别的一部分。我会在问题中表达得更清楚。 - Petrus Theron