网络编程
位置:首页>> 网络编程>> 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
投稿

猜你喜欢

  • 给浏览器绑定事件有时候是非常痛苦的事情,不同的浏览器提供不尽相同的功能的同时,也提供了不同的事件。例如,IE 系列的浏览器支持 mousee
  •     水平线对于制作网页的朋友来说一定不会陌生,它在网页的版式设计中是非常有作用的,可以用来分隔文本和对象。
  • 最近写一个小小的留言本;算是对AJAX的综合应用迈出了一小步在制作过程中有很多兴奋的体验 虽然和以前的制作方法比起来繁杂了一些但是整个页面的
  • 查看表空间的名称及大小代码如下:SQL>select t.tablespace_name, round(sum(bytes/(1024
  • 这段时间服务器崩溃2次,一直没有找到原因,今天看到论坛发出的错误信息邮件,想起可能是MySQL的默认连接数引起的问题,一查果然,老天,默认
  • Internet Explorer 8 Beta 测试了一年多之后,今天,IE8 终于发布了。它绝对好过 IE7,还有一些不错的新功能,如
  • 1、Export/Import的用处 Oracle Export/Import工具用于在数据库之间传递数据。 Export从数据库中导出数据
  • 有些朋友看到这个标题可能会有疑问,难道在视图中使用*符号还有何要注意的地方吗?对于这个问题,我们先不必回答,先看一下例子吧。 我这里,使用的
  • 不知不觉2008已经走到了尽头,在这近一年中,一直不断的尝试用ExtJS做项目,从1.1到现在的2.2,吃了不少苦头,也有不少收获,总结一
  • 格式请使用 gif 或 jpg 或swf (flash)同一组广告请使用一种格式。命名命名方式:宽x高.图片格式x 必须小写 ; 图片格式
  • 学习了css一段时间,现在对css的一些技巧进行一次小结.希望能对那些刚学习css的新手们带来帮助.一、关于注释在创建xhtml+CSS网站
  • 1:mysql是我们使用最多的数据库,如果在日常中正确的对mysql数据进行备份,下面我们就来做这事,通过脚本来实现############
  • 学习目的: 掌握文本框的用法 初次接触try…catch…语法 今天内容很轻松,用一个例子,输入年月日,判断输入是否正确 图片如下: 用个
  • 这次讨论一下关于select元素的一个问题,其实很早以前我就碰到过关于select元素的问题,这次做网站又被问到同样的问题,就是:一般div
  • aspImage是ServerObjects站点上非常好的一个组件,它可以使我们利用Asp实现很多对于图形的处理功能,他的功能强大,如果你需
  •  <%''调用例子'Dim int_RPP,int_Start,int_showNumberLink
  • 前言:1、上几次讨论右键禁止等问题的时候,有网友问那里有键值表KeyCode,我今天写了一个javascript,以飨各位有需要者。2、适用
  • 前两天研究了一下textarea的直观行的换行规律,挺复杂啊:直观行怎样取不光要看cols大小,还要看网页编码方式。cols="3
  • 规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 –
  • 更轻量- 出色的颗粒化模块,子模块划分;- 延迟加载;- 强调代码重用(公共基类、插件、扩展);更易用- 统一的API;- 便利(each,
手机版 网络编程 asp之家 www.aspxhome.com