拜山贴(COM+中的连接复用)

很高兴申请到帐号,我会不断丰富blog内容,当然:仅仅.NET相关
最近一直忙于代码质量检查和程序性能优化,发现COM+连接池的一些特性:
1,没有参与事务的连接(即不需要事务支持的组件中的connection对象),一旦close,则该连接立即返回连接池中,可以被其它进程复用.
2,参与事务的连接,一旦close后,不能被外部复用,但能够在事务内部被复用(new Transaction除外)
所以,写程序时,假如有一下COM+组件(EnterpriseServiceComponent)
connectstring = ".....DataSource = ......."
class class1
{
void Method1
{
SqlConnection conn = new SqlConnection(connectstring);
.........
classInner ci = new ClassInner()
conn.close **********会让该连接返回池,节省连接数
ci.MethodInner()
}

}
class ClassInner
{
void MethodInner
{
SqlConnection connInner = new SqlConnection(connectstring);
.........
如果外部连接close则会复用那个连接,否则会多一个连接!!!
}
}

你可能感兴趣的:(com)