简单案例:
我把一个DataTable放在Cache中
DataTable table = SomeClass.GetTable(); Cache["test"] = table; then in later calls i use DataTable table = (DataTable)Cache["test"];
现在的问题是:我应该在每次调用时调用table.dispose(),尽管它存储在Cache中吗?意味着对象总是一样的?或者Cache会每次创建一个副本吗?
谢谢 :)
您所做的只是将指针存储在缓存中...实际的"表"仍然在堆上,其中存储了所有.Net引用类型...您没有复制它...缓存中的变量只是采取行动阻止垃圾收集器擦除堆上的对象......
不,你不想在不再需要实际对象之前调用dispose.