Phương thức của tôi gọi SQL Server trả về DataReader
nhưng vì những gì tôi cần làm - trả lại DataReader
cho phương thức gọi nằm trong mã phía sau - Tôi không thể đóng kết nối trong lớp của phương thức gọi máy chủ SQL. Do điều này, tôi không có cuối cùng hoặc sử dụng các khối.Tôi có nên triển khai IDisposable tại đây không?
Là cách xử lý đúng tài nguyên để lớp học triển khai IDisposable
? Ngoài ra, tôi có nên xử lý rõ ràng tài nguyên không được quản lý (các trường cấp lớp) khỏi người gọi không?
EDIT: Tôi gửi datareader trở lại bởi vì tôi cần để ràng buộc dữ liệu cụ thể từ datareader đến một điều khiển listitem, vì vậy trong lớp gọi (codebehind trang), tôi làm:
new ListItem(datareader["dc"]); (along those lines).
Tại sao bạn muốn gửi người đọc dữ liệu vào trang? – Perpetualcoder
Trả về DataReader trực tiếp có thể là thực hành không tốt, nhưng nó có thể hữu ích cho anh ta trong một số trường hợp. – Venemo
@Venemo - Tôi nghĩ rằng http://stackoverflow.com/questions/2867661/should-i-implement-idisposable-here/2869503#2869503 có thể phục vụ anh ấy tốt hơn. – dss539