ASP状态封装类Cache、Cookie & Session
缓存是基于Application实现的
CacheState类,建议实例化时用名Cache
程序代码
<%
Class CacheState
Private IExpires
Public Default Property Get Contents(ByVal value)
Contents = values(value)
End Property
Public Property Let Expires(ByVal value)
IExpires = DateAdd("d", value, Now)
End Property
Public Property Get Expires()
Expires = IExpires
End Property
Public Sub Lock()
Application.Lock()
End Sub
Public Sub UnLock()
Application.UnLock()
End Sub
Public Sub Add(ByVal Key, ByVal value, ByVal Expire)
Expires = Expire
Lock
Application(Key) = value
Application(Key & "Expires") = Expires
UnLock
End Sub
Public Sub Remove(ByVal Key)
Lock
Application.Contents.Remove(Key)
Application.Contents.Remove(Key & "Expires")
UnLock
End Sub
Public Sub RemoveAll()
Clear()
End Sub
Public Sub Clear()
Application.Contents.RemoveAll()
End Sub
Public Function values(ByVal Key)
Dim Expire : Expire = Application(Key & "Expires")
If IsNull(Expire) or IsEmpty(Expire) Then
values = ""
Else
If IsDate(Expire) And CDate(Expire) > Now Then
values = Application(Key)
Else
Call Remove(Key)
value = ""
End If
End If
End Function
Public Function Compare(ByVal Key1, ByVal Key2)
Dim Cache1 : Cache1 = values(Key1)
Dim Cache2 : Cache2 = values(Key2)
If TypeName(Cache1) <> TypeName(Cache2) Then
Compare = True
Else
If TypeName(Cache1)="Object" Then
Compare = (Cache1 Is Cache2)
Else
If TypeName(Cache1) = "Variant()" Then
Compare = (Join(Cache1, "^") = Join(Cache2, "^"))
Else
Compare = (Cache1 = Cache2)
End If
End If
End If
End Function
Private Sub Class_initialize()
End Sub
Private Sub Class_Terminate()
End Sub
End Class
%>
Class CacheState
Private IExpires
Public Default Property Get Contents(ByVal value)
Contents = values(value)
End Property
Public Property Let Expires(ByVal value)
IExpires = DateAdd("d", value, Now)
End Property
Public Property Get Expires()
Expires = IExpires
End Property
Public Sub Lock()
Application.Lock()
End Sub
Public Sub UnLock()
Application.UnLock()
End Sub
Public Sub Add(ByVal Key, ByVal value, ByVal Expire)
Expires = Expire
Lock
Application(Key) = value
Application(Key & "Expires") = Expires
UnLock
End Sub
Public Sub Remove(ByVal Key)
Lock
Application.Contents.Remove(Key)
Application.Contents.Remove(Key & "Expires")
UnLock
End Sub
Public Sub RemoveAll()
Clear()
End Sub
Public Sub Clear()
Application.Contents.RemoveAll()
End Sub
Public Function values(ByVal Key)
Dim Expire : Expire = Application(Key & "Expires")
If IsNull(Expire) or IsEmpty(Expire) Then
values = ""
Else
If IsDate(Expire) And CDate(Expire) > Now Then
values = Application(Key)
Else
Call Remove(Key)
value = ""
End If
End If
End Function
Public Function Compare(ByVal Key1, ByVal Key2)
Dim Cache1 : Cache1 = values(Key1)
Dim Cache2 : Cache2 = values(Key2)
If TypeName(Cache1) <> TypeName(Cache2) Then
Compare = True
Else
If TypeName(Cache1)="Object" Then
Compare = (Cache1 Is Cache2)
Else
If TypeName(Cache1) = "Variant()" Then
Compare = (Join(Cache1, "^") = Join(Cache2, "^"))
Else
Compare = (Cache1 = Cache2)
End If
End If
End If
End Function
Private Sub Class_initialize()
End Sub
Private Sub Class_Terminate()
End Sub
End Class
%>
站长工具
相关文章

请稍等,评论加载中...