我希望在类中不同的方法之间重复使用同一个SQLConnection。目前我正在做的事情(仅作测试)是在构造函数中创建和打开连接:
SQLConnection Connection;
Constructor(string connection_string)
{
this.Connection = new SqlConnection(connection_string);
this.Connection.Open();
}
然后我在方法内部使用“this.Connection”,最后在对象不再需要时使用this.Connection.Close()和Dispose()。据我所知,更好的做法是在每个方法内使用“using”进行连接,如下所示(构造函数仅设置连接字符串):
using (SqlConnection connection = new SqlConnection(connection_string)) {
connection.Open(); ...
}
由于连接池的存在,尽管上面的“using”语句被放置在多个方法中(例如当它们一个接一个地被调用时),实际上只使用了一个连接,对吗?然而,这样不会创建许多SQLConnection实例,而只需要一个实例,是吗?例如:
MyClass obj(some_string);
obj.Method1(); // calls 'using SqlConnection connection = new SqlConnection'
obj.Method2(); // calls 'using SqlConnection connection = new SqlConnection'
obj.Method3(); // calls 'using SqlConnection connection = new SqlConnection'
那么,分享SQLConnection的正确和最佳方法是什么?