bsp; {
38 return null;
39 }
40 else
41 {
42 return cacheObject;
43 }
44 }
45
46 }
47
而死循环的问题主要是因为.net2下的缓存回调加载机制和程序本身的一个BUG造成的,目前
已修正, 大家请放心使用。
目前已开发但还未使用的功能:
1.一键多值:请看DNTCache代码段中的AddMultiObjects(string xpath,object[] objValue)
,获取时使用object[] RetrieveObjectList(string xpath)方法返回即可,这样就可以用一个xpath
来存取一组对象了。
它的实现代码也相对简单,这里就不多说了,只把代码贴在此处。
public virtual bool AddMultiObjects(string xpath,object[] objValue)
{
lock(lockHelper)
{
//RemoveMultiObjects(xpath);
if (xpath != null && xpath != "" && xpath.Length != 0 && objValue != null)
{
for (int i = 0; i < objValue.Length; i++)
{
AddObject(xpath + "/Multi/_" + i.ToString(),objValue[i]);
}
return true;
}
return false;
}
}
2.批量移除缓存
它主要是利用XML有按路径层次存储的特点才这样做的,主要是去掉位于当前路径下的所有
子结点的缓存数据。
它的函数声明如下:RemoveObject(string xpath, bool writeconfig)
它的实现代码也相对简单,这里就不多说了, 只把代码贴在此处。
1 public virtual void RemoveObject(string xpath, bool writeconfig)
2 {
3 lock(lockHelper)
4 {
5 try
6 {
7 if(writeconfig)
&
|