.net:我们的自定义数据访问层类应该实现Idisposable吗?

时间:2011-01-02 07:45:39

标签: .net data-access-layer idisposable

.net:我们的自定义数据访问层类应该实现Idisposable吗?他们主要使用数据库作为数据存储来存储/检索数据?

谢谢

1 个答案:

答案 0 :(得分:1)

Dispose主要用于释放非托管资源。例如套接字,数据库连接和文件句柄。

如果您没有自己跟踪任何非托管资源,那么您 无法实施IDisposable,因为GC收集DbConnection时会释放所有资源。

我建议你做两件事:

a)如果您将DbConnection作为成员变量,请实现IDisposable并在Dispose方法中配置连接。只有在使用DAL时使用using关键字时,此功能才有效。

b)尽可能在任何地方开始使用using,以确保尽快释放资源。