2014-11-03 76 views
0

当前我的代码构造如下。使用“使用”语句时是否需要关闭连接

using (var sqlCon = new SqlConnection(Context.ReturnDatabaseConnection())) 
     { 
      sqlCon.Open(); 

      try 
      { 
       //Code here 

      } 
      catch (Exception e) 
      { 
       Console.WriteLine(e); 
      } 
      finally 
      { 
       sqlCon.Close(); 
      } 
     } 

理想的情况下从我的理解使用“使用”的语句会照顾被关闭的连接,但我因别人说了我的怀疑。

由于

+1

完成后'使用'调用'Dispose'对象。请参阅:http://msdn.microsoft.com/en-us/library/aa326260(v=vs.71).aspx – 2014-11-03 03:46:11

+1

您是否可以提供指向具有冲突意见的其他答案的链接?我会说不需要关闭,你可以删除整个'finally'块。 – 2014-11-03 03:46:12

+0

dupe(以及我在这里看到的任何其他类似帖子)指出,使用'using'会关闭连接(即使抛出异常也会更好)。这里有另一个关于['using']的有趣帖子(http://stackoverflow.com/questions/75401/uses-of-using-in-c-sharp)以及很多很好的信息(不一定仅限于你的具体问题)。 – 2014-11-03 03:55:34

回答

0

嗨只是using语句进入将被罚款。它将处理该对象并且通常需要较少的编码。

0

该使用将照顾它。作为额外的背景,使用语句是一个尝试的语法糖......最后,在终端中放置IDisposable对象。

相关问题