.net:我们的自定义数据访问层类应该实现Idisposable吗?他们主要使用数据库作为数据存储来存储/检索数据?
谢谢
答案 0 :(得分:1)
Dispose主要用于释放非托管资源。例如套接字,数据库连接和文件句柄。
如果您没有自己跟踪任何非托管资源,那么您 无法实施IDisposable
,因为GC收集DbConnection
时会释放所有资源。
我建议你做两件事:
a)如果您将DbConnection作为成员变量,请实现IDisposable
并在Dispose方法中配置连接。只有在使用DAL时使用using
关键字时,此功能才有效。
b)尽可能在任何地方开始使用using
,以确保尽快释放资源。