KS_CommonCls.asp文件的缓存类部分代码:
Property Get valid()
If IsEmpty(cache) Or (Not IsDate(expireTime)) Then
vaild = False
Else
valid = True
End If
End Property
Property Get value()
If IsEmpty(cache) Or (Not IsDate(expireTime)) Then
value = Null
ElseIf CDate(expireTime) < Now Then
value = Null
Else
value = cache
End If
End Property
Property Get valid() 是判断缓存是否有效。
Property Get value()取缓存值
当缓存时间过后,Property Get valid() 返回值为:True;而 Get value()返回值为NULL。这样就会造成, valid()为TRUE时,而value为空 。
代码作如下修改即可
Property Get valid()
If IsEmpty(cache) Or (Not IsDate(expireTime)) Then
vaild = False
ElseIf CDate(expireTime) < Now Then '与Get value()相对应的判断,保持一致
vaild = False
Else
valid = True
End If
End Property
Property Get value()
If IsEmpty(cache) Or (Not IsDate(expireTime)) Then
value = Null
ElseIf CDate(expireTime) < Now Then
value = Null
Else
value = cache
End If
End Property
不知小弟我讲的是否有理,也不知其它朋友使用过程是否出现这个问题。我是在写别的程序中采用这个缓存类发现这个问题的。
[此贴子已经被作者于2007-1-14 8:24:18编辑过]