Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否应关闭ReliableSqlConnection中的SQLConnection?_C#_Azure Sql Database - Fatal编程技术网

C# 是否应关闭ReliableSqlConnection中的SQLConnection?

C# 是否应关闭ReliableSqlConnection中的SQLConnection?,c#,azure-sql-database,C#,Azure Sql Database,我在使用ReliableSqlConnection时发现的每个示例都类似于: using (var cnn = new ReliableSqlConnection(connString)) { using (var cmd = cnn.CreateCommand()) { cnn.Open(); ... } } 由于Open()返回一个SQLConnection,它是IDisposable,是否应该将其释放 如果我封装在一个using语句

我在使用
ReliableSqlConnection
时发现的每个示例都类似于:

using (var cnn = new ReliableSqlConnection(connString))
{
    using (var cmd = cnn.CreateCommand())
    {
        cnn.Open();
        ...
    }
}
由于
Open()
返回一个
SQLConnection
,它是
IDisposable
,是否应该将其释放

如果我封装在一个using语句中,会有什么区别或伤害吗

using (var cnn = new ReliableSqlConnection(connString))
{
    using (var cmd = cnn.CreateCommand())
    {
        using(cnn.Open(){
            ...
        }
    }
}

您不需要处置,弃用的ReliableSQLConnection类在其ctor中创建
SqlConnection
,并在其
dispose()中处置它:


您不需要处置,弃用的ReliableSQLConnection
类在其ctor中创建
SqlConnection
,并在其
dispose()中处置它:


你是如何/在哪里找到这个的源代码的?我确实在上面找到了它,但这看起来不像是一个官方来源。你知道为什么要调用
SQLConnection::Close()
?据我所知,
SQLConnection::Dispose()
calls
SQLConnection::Close()
它作为EnterpriseLibrary的一部分在我的机器上。Source.WindowsAzure nuget packageCalling Close不需要,正如你所说,它们这样做的事实可能是一种风格选择。你是如何/从哪里找到这方面的源代码的?我确实在上面找到了它,但这看起来不像是一个官方来源。你知道为什么要调用
SQLConnection::Close()
?据我所知,
SQLConnection::Dispose()
calls
SQLConnection::Close()
它是作为EnterpriseLibrary.Source.WindowsAzure nuget packageCalling Close的一部分出现在我的机器上的,正如你所说,它不需要调用Close,事实上它们这样做可能是一种风格选择。
private void Dispose(bool disposing)
{
    if (disposing)
    {
        if (this.underlyingConnection.State == ConnectionState.Open)
        {
            this.underlyingConnection.Close();
        }

        this.underlyingConnection.Dispose();
    }
}