当前位置:  开发笔记 > 编程语言 > 正文

虽然数据表存储在缓存中,但每次使用后是否必须调用dispose?

如何解决《虽然数据表存储在缓存中,但每次使用后是否必须调用dispose?》经验,为你挑选了1个好方法。

简单案例:

我把一个DataTable放在Cache中

DataTable table = SomeClass.GetTable();
Cache["test"] = table;

then in later calls i use
DataTable table = (DataTable)Cache["test"];

现在的问题是:我应该在每次调用时调用table.dispose(),尽管它存储在Cache中吗?意味着对象总是一样的?或者Cache会每次创建一个副本吗?

谢谢 :)



1> Charles Bret..:

您所做的只是将指针存储在缓存中...实际的"表"仍然在堆上,其中存储了所有.Net引用类型...您没有复制它...缓存中的变量只是采取行动阻止垃圾收集器擦除堆上的对象......

不,你不想在不再需要实际对象之前调用dispose.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有