网络编程
位置:首页>> 网络编程>> Asp编程>> ASP状态封装类Cache、Cookie & Session

ASP状态封装类Cache、Cookie & Session

作者:Movoin 来源:Movoin ^ Blog 发布时间:2008-05-11 19:33:00 

标签:缓存,cache,cookie,session,asp

缓存是基于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
%>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com