Tôi sử dụng một quá trình không đồng bộ để truy xuất dữ liệu từ một truy vấn SQL đang chạy dài. Quá trình gọi thủ tục được lưu trữ thông qua phương thức SqlCommand.BeginExecuteReader()
.Gracefully chấm dứt truy vấn SQL Server chạy dài từ ADO.NET
Đôi khi, tôi muốn đóng quá trình của mình và chấm dứt hiệu quả mọi truy vấn đang chạy.
Sau một số thử nghiệm, có vẻ như gọi số SqlConnection.Close()
là đủ. Để có biện pháp tốt, tôi cũng gọi rõ ràng SqlConnection.Dispose()
.
Khi chạy một dấu vết qua SQL Server Profiler, nó xuất hiện như thể truy vấn được kết thúc một cách duyên dáng như tôi nhìn thấy một SQL:BatchStarting
theo sau là một SQL:BatchCompleted
sau khi gọi Close()
.
Có ai vui lòng xác nhận xem việc đóng kết nối có phải là tất cả những gì được yêu cầu không?