asp.net HttpRuntime.Cache里的值为什么会被更新。
我先往cache里insert了一条数据
HttpRuntime.Cache.Insert(key, value, Nothing, DateTime.Now.Add(span), Cache.NoSlidingExpiration)
key=1
value是一个datatable
我取出来这个datatable
Dim DT as DataTable =HttpRuntime.Cache.Get(1)
然后我对这个datatable加以列
DT.Columns.Add("Col1")
**奇怪的是 缓存里的datatable居然也加了一列,我再次监视了下HttpRuntime.Cache.Get(1),得到的datatbale居然也加上了“Col1”这一列
我就一头的问号了??????????????????WHY???????
------解决方案--------------------
首先 不建议使用datagtable,因为这个类型对外界的是未知,的,如果不调试,你不知道这个table里是放的什么数据
你可以自定一个对象,是这个对象实现ICloneable接口,,然后table转换成这个对象的集合.
------解决方案--------------------把DataTable复制一份出来再处理