我正在使用 ADO.Net 进行一些数据库连接,我只是希望我的做法是正确的。我正在为每个存储过程打开和关闭多个连接。或者我应该将其包装在一个开放的连接中(数据库上的资源可能更少?)谢谢,如果有什么奇怪的或我可以做得更好的事情请告诉我,谢谢!
示例:这个,但我有 6 个......
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
SqlCommand cmd = new SqlCommand("spSelectAllTrip", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
ddlTripTypeA.DataSource = cmd.ExecuteReader();
ddlTripTypeA.DataTextField = "TripType";
ddlTripTypeA.DataValueField = "TripTypeAID";
ddlTripTypeA.DataBind();
}
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
SqlCommand cmd = new SqlCommand("spSelectAllTripB", conn);
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
ddlTripTypeB.DataSource = cmd.ExecuteReader();
ddlTripTypeB.DataTextField = "TripType";
ddlTripTypeB.DataValueField = "TripTypeBID";
ddlTripTypeB.DataBind();
}
最佳答案
.Net 已经为您管理了连接池,因此您不必像使用旧的 asp 那样担心重新使用连接。我总是进行几个小的快速调用而不是一直保持一个打开,因为它打开的时间并不总是用于调用。您还可以让您的站点代码在运行期间执行一些操作。
现在,如果您要一个接一个地进行 6 个连续调用,那么打开一个并重复使用可能是有意义的。但除此之外,我要说的是坚持你正在做的事情。
您可能唯一需要研究的是连接管理器,这样您就不必在 .net 中一遍又一遍地创建连接对象。但这与数据库连接没有任何关系,而只是对象创建。
关于c# - 最佳实践?打开和关闭多连接,或 ado.net 的一个大打开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3344953/