ASP的XML缓存类,代替了Application

转载 2007年10月14日 22:06:00
<%
'=========================================
' ClassName: RyM_ClsCache
' Version: 1.0
' Date: 2006-8-2
' Author: 网海の求生
'=========================================
' 调用说明:
' Set CC = New RyM_ClsCache '创建对象
' CC.CreateXmlObj "Temp.xml","/ROYAH_CACHE"
' CC.Name = "CA" '设置缓存名
' If CC.IsXmlObj() Then '如果存在缓存则
' Temp = CC.Value '直接xml中读取值
' Else 否则
' Temp = "要缓存的内容,只能是字符串"
' CC.Value = Temp '把要缓存的值写入xml
' End If
' Set CC = Nothing '释放对象
' 变量Temp就是经过缓存后的字符串值了
'=========================================
Class RyM_ClsCache
Public Reloadtime
Private XmlDom, XmlDoc, XmlNode, XmlAttr, AttrTime
Private CacheName, LocalCacheName, XmlPath
Private Sub Class_Initialize()
Reloadtime = 14400
End Sub
Private Sub Class_Terminate()
Close()
End Sub
'新建文本文件
Private Function SaveToFile(ByVal strBody,ByVal SavePath)
Set ObjStream = Server.CreateObject("ADODB.Stream")
ObjStream.Open
ObjStream.Type = 2
ObjStream.Charset = "GB2312"
ObjStream.WriteText strBody
ObjStream.SaveToFile SavePath,2
ObjStream.Close
Set ObjStream = Nothing
End Function
'创建Xml对象
Public Sub CreateXmlObj(ByVal XmlName, ByVal ChName)
Set XmlDom = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
XmlPath = Server.MapPath(XmlName)
CacheName = ChName
If Not XmlDom.Load(XmlPath) Then '如果指定的缓存文件不存在则自动新建
SaveToFile "<?xml version=""1.0"" encoding=""GB2312""?><ROYAH_CACHE></ROYAH_CACHE>",XmlPath
XmlDom.Load(XmlPath)
End If
End Sub
'设置返回数据节点名
Public Property Let Name(ByVal vNewValue)
LocalCacheName = vNewValue
If LocalCacheName <> "" Then
Set XmlDoc = XmlDom.documentElement.selectSingleNode(CacheName & "/" & LocalCacheName)
End If
End Property
'设置当前节点值
Public Property Let Value(ByVal vNewValue)
If (XmlDoc Is Nothing) Then
Set XmlDoc = XmlDom.documentElement.selectSingleNode(CacheName)
Set XmlNode = XmlDom.createElement(LocalCacheName)
Set XmlAttr = XmlDom.createAttribute("Time")
XmlNode.Text = vNewValue
XmlAttr.Text = Now()
XmlDoc.AppendChild(XmlNode)
XmlNode.setAttributeNode XmlAttr
XmlDom.Save(XmlPath)
Else
XmlDoc.Text = vNewValue
Set AttrTime = XmlDoc.selectSingleNode("./@Time")
AttrTime.Text = Now()
XmlDom.Save(XmlPath)
End If
End Property
'返回当前节点值
Public Property Get Value()
If Not (XmlDoc Is Nothing) Then
Value = XmlDoc.Text
End If
End Property
'移除当前节点
Public Sub Remove()
If Not (XmlDoc Is Nothing) Then
XmlDoc.ParentNode.RemoveChild(XmlDoc)
XmlDom.Save(XmlPath)
End If
End Sub
'检测当前节点是否存在
Public Function IsXmlObj()
IsXmlObj = False
If Not (XmlDoc Is Nothing) Then
IsXmlObj = True
Set AttrTime = XmlDoc.selectSingleNode("./@Time")
If DateDiff("s",CDate(AttrTime.Text),Now()) > (60*Reloadtime) Then IsXmlObj = False
End If
End Function
'释放全部对象
Public Sub Close()
If IsObject(XmlDom) Then Set XmlDom = Nothing
If IsObject(XmlDoc) Then Set XmlDoc = Nothing
If IsObject(XmlNode) Then Set XmlNode = Nothing
If IsObject(XmlAttr) Then Set XmlAttr = Nothing
If IsObject(AttrTime) Then Set XmlAttr = Nothing
End Sub
End Class
%> 
 

金融应用项目的过程改进

 我们都知道软件工程、规范管理的好处,但我们往往会因为其他一些因素,如进度的压力,项目生存的压力,而使我们走‘捷径’,实际上,我们在为此付出更大的代价。一些逐渐暴露出来的问题在细水长流似的消耗我们的时...
  • capers
  • capers
  • 2002-08-07 11:54:00
  • 1059

asp缓存类

'********************************************** ' vbs Cache类 ' ' 属性valid,是否可用,取值前判断 ' 属性name,cache名,...
  • shunzi110
  • shunzi110
  • 2007-07-31 12:06:00
  • 1142

asp中缓存cache技术的应用 Application

ASP从发布至今已经7年了,使用ASP技术已经相当成熟,自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新。但是由于有很多人仍然习惯使用ASP来开发网站,所以,再次我将以一个简单的例子来说...
  • joelifish
  • joelifish
  • 2010-06-17 11:24:00
  • 371

Spring的@Configuration来代替xml配置

下面是一个典型的spring配置文件(application-config.xml):   Xml代码  [xml] view plain copy beans>    ...
  • u014563989
  • u014563989
  • 2017-05-23 11:42:40
  • 1374

asp.net中Session缓存与Cache缓存的区别分析

[导读]实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application 其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息。  Se...
  • wangqi0079
  • wangqi0079
  • 2013-07-15 10:22:09
  • 551

asp缓存类提高处理速度源码

  • 2011年02月01日 17:52
  • 1KB
  • 下载

asp读写xml(有用,保存在自己博客中以后就不用去找了)

asp读写xml由于XML(可扩展标记语言:eXtensible Markup Language)真正的平台无关性,它正在逐渐成为数据传输的主要介质。XML是一种自描述的语言,数据本身就已经包含了元数...
  • fangfeng335
  • fangfeng335
  • 2010-03-10 20:13:00
  • 1502

清除asp缓存三个办法

清除asp缓存三个办法1、在Asp页面首部加入 Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response.Expires...
  • xqf222
  • xqf222
  • 2006-09-23 10:03:00
  • 2390

使asp页面不缓存

将如下代码加入到asp页面的开头部分:response.expiresabsolute = now() - 1response.addHeader "pragma","no-cache"respons...
  • vince6799
  • vince6799
  • 2006-05-03 11:34:00
  • 1860

ASP中利用Application存储数组信息

  • 2010年07月23日 17:50
  • 3KB
  • 下载
收藏助手
不良信息举报
您举报文章:ASP的XML缓存类,代替了Application
举报原因:
原因补充:

(最多只允许输入30个字)