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
%> 
 

先锋缓存类(极度加速ASP和提高执行效率)

clsCache 公共属性  引用内容:  valid   返回是否有效。true表示有效,false表示无效。只读。   Version  获取类的版本信息。只读。...
  • lishimin1012
  • lishimin1012
  • 2015年12月31日 11:24
  • 868

asp生成xml文件

  • maskice
  • maskice
  • 2015年11月24日 11:56
  • 655

Asp 解析 XML并分页显示

Asp 解析 XML并分页显示
  • yimiyuangguang
  • yimiyuangguang
  • 2014年05月14日 01:10
  • 1493

asp 创建和读取xml文件

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We...
  • lz37025
  • lz37025
  • 2017年01月06日 11:51
  • 748

个用 xml写的asp的页面后台页面只要返回简单的字符串行

楼主提供的另外1个思路也挺好虽然我们不能去开发引擎uid username,如果要复用int Numint numbers, unsigned int length.BM算法不仅效率高经常需要在其中写...
  • kudai1808
  • kudai1808
  • 2017年01月27日 07:49
  • 168

通过Application代替全局变量

扩展Application对象 每一个应用程序启动之后,都会分配一个linux用户,并且运行在一个独立的进程中。 默认情况下,一个应用程序只会运行在一个进程中(可以通过配置android:pr...
  • puhaibo_skynet
  • puhaibo_skynet
  • 2014年08月20日 19:40
  • 347

用xml充当小型数据库案例

利用dom4j工具,将user.xml作为一个小型的数据库,然后控制台输入进行用户名与密码的匹配 /*user.xml文件放在src下*/ /*控制台输入内容匹配user.xml...
  • sinat_22797429
  • sinat_22797429
  • 2017年06月06日 18:11
  • 263

Session和Application实现网络在线聊天室实例

login.aspx代码如下:                 body { width:780px; margin:0px auto;}         ...
  • yayun0516
  • yayun0516
  • 2014年12月19日 09:56
  • 3004

xml被浏览器缓存了

之前在做广告投放功能,遇到的一个问题。 在页面上轮播广告,是通过把广告信息保存成xml文件,然后在前台通过唯一的id调取该广告信息,具体用ajax异步响应到xml,把广告内容展示在页面上。 只是aja...
  • u013405778
  • u013405778
  • 2015年10月29日 17:21
  • 604

前端性能优化(Application Cache篇)

之前在segmentfault上刷问题看到一个关于manifest的问题,很好奇就研究了一下application cache。Application Cache是HTML5的新特性,允许浏览器在本地...
  • daimomo000
  • daimomo000
  • 2017年06月07日 09:04
  • 628
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP的XML缓存类,代替了Application
举报原因:
原因补充:

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