Nói rằng tôi có hai đối tượng sau đây:Làm thế nào để đóng một OracleConnection trong .NET
OracleConnection connection = new OracleConnection(connectionString);
OracleCommand command = new OracleCommand(sql, connection);
Để đóng kết nối hoặc Oracle, tôi phải gọi command.Dispose(), connection.Dispose(), hoặc cả hai?
Đây có phải là đủ tốt:
using(connection)
{
OracleDataReader reader = cmd.ExecuteReader();
// whatever...
}
Có phải usings bên trong thực sự cần thiết, hoặc là một cho 'kết nối' đủ tốt? –
Bạn cần phải vứt bỏ tất cả các đối tượng IDisposable của bạn, do đó, mỗi sử dụng là cần thiết. Nếu bạn không, bạn sẽ chỉ vứt bỏ kết nối, và những đứa trẻ sẽ bị bỏ lại. – Russ
Cấp cho các kết nối cơ sở dữ liệu (và cho IDiposable nói chung), nhưng nó sẽ không làm với các luồng đầu vào/đầu ra tầng nơi xử lý cha mẹ phân phối con. – Mac