好久没来写Blog了,最近的确很忙啊!^_^
关于这个程序块,怎么说好呢,它真的是非常的好,但也是我遇到的bug最多的程序块,而且文档写的超烂,写这个程序块的牛人肯定没把它当回事,以为文档不需要写详细也可以看懂,结果是可把我害惨了,找了半天的时间才找出bug的出处,总算是修好了。总的讲这个缓存的程序块就是用来做缓存的,而且使用起来挺方便的,因为有源码以及另外的一份设计文档所以扩展不是问题。但这个程序块有两处bug(我所遇到的),以下将其列出:
- FileDependency类,它的对比是否过时的方式是对比文件的LastAccessTime,而很显然这是错误的对比方式,正确的应该是LastWriteTime。
- CacheService.RemoveItem,这个方法在回调之后才将集合中的回调清除,这很显然也是错误的逻辑,如果我在回调的时候再向缓存添加一个有回调的item的话,那么这个item的回调会被清除掉,造成了我莫名其妙的找了半天,看了几遍代码摸清了它的结构后才得以修改过来。(气愤中)
我在这里将以上bug都列出来,好让大家可以直接绕过这些bug,不必再在上面浪费时间了,希望这些信息对大家有用。^_^