一个月一个月一个月一个月 神奇的事情发生在Open()调用上。它将根据ConnectionString判断是否可以使用以前的池连接。通过总是“打开”一个“新”连接并将其处理掉,可以确保不会在连接上的其他操作中留下任何挂起的东西。但是如果您试图通过保留'SqlConnection对象并注入它来自己实现连接池,你会有麻烦的。 See this question for more information. 直接回答你的问题,接收注入连接的代码不应该丢弃它,因为看起来你想继续使用它。但是你不应该这样使用SqlConnection。你的方法可能对其他事情是正确的。 using模式是正确使用它的最简单方法。 使用using语句:
{
using var connection = new SqlConnection(yourConnectionStringHere);
connection.Open();
//Use the connection somehow
//connection will be disposed when the scope exits in using statement
}
或者使用经典的using块:
{
using (var connection = new SqlConnection(yourConnectionStringHere))
{
connection.Open();
//Use the connection somehow
}
}
1条答案
按热度按时间5vf7fwbs1#
一个月一个月一个月一个月
神奇的事情发生在
Open()
调用上。它将根据ConnectionString
判断是否可以使用以前的池连接。通过总是“打开”一个“新”连接并将其处理掉,可以确保不会在连接上的其他操作中留下任何挂起的东西。但是如果您试图通过保留'SqlConnection对象并注入它来自己实现连接池,你会有麻烦的。See this question for more information.
直接回答你的问题,接收注入连接的代码不应该丢弃它,因为看起来你想继续使用它。但是你不应该这样使用
SqlConnection
。你的方法可能对其他事情是正确的。using
模式是正确使用它的最简单方法。使用using语句:
或者使用经典的using块: