我叫了dispose in catch,最后阻止了..但是,在调用Dispose()之前,我还没有检查它是否已经被释放。如何在调用Dispose()之前检查SqlTransaction是否已被释放?但这不包括我的问题。注意:我已经知道TransactionScope比SqlTransaction具有优势。但我想了解SqlTransaction的处置。null)
据我所知,using的工作方式类似于try/catch/finally,所以我预计如果using语句中发生异常,它会被捕获(这有点奇怪,因为这也意味着异常会被默默地吃掉)。using语句应该捕获异常并调用Dispose方法,然而,这并没有发生。我设计了一个简单的测试来演示这个问题。下面是我强制在using语句中发生异常的地方:
using (TcpClient client = new TcpCl