ASP+XML全面代替服务器服务,减低服务器负担

转载 2006年06月24日 13:43:00
'/*===============[使用方法]=================*/'

Dim JianJianJava,TempVariables,VariablesCount
'声明变量

Set JianJianJava = New FreeXml
'创建类

JianJianJava.Data = Server.MapPath('Java.xml')
'设置缓存XML文件的位置,请把Xml文件放在其它路径以加密文件

JianJianJava.XmlApplication('缓存变量名') = '缓存变量值'
'公有变量赋值

TempVariables = JianJianJava.XmlApplication('缓存变量名')
'取出公有变量值

JianJianJava.RemoveApplication '缓存变量名'
'把指定公有变量从XML文件中释放

VariablesCount = JianJianJava.XmlApplicationCount()
'取出已缓存公有变量的个数

JianJianJava.XmlSession('客户变量名') = '缓存变量值'
'私有变量赋值,

TempVariables = JianJianJava.XmlSession('每个变量名')
'取出私有变量值

JianJianJava.RemoveSession '客户变量名'
'把指定私有变量从XML文件中释放

VariablesCount = JianJianJava.SessionCount()
'取出已缓存私有变量的个数

JianJianJava.XmlApplicationContent('数组名',下界数字) = '值'
'下界是数值,公有数组变量赋值

TempVariables = JianJianJava.XmlApplicationContent('数组名',下界数字)
'取出公有数组变量值

JianJianJava.RemoveContent '数组名',下界数字
'把指定集合里的指定变量释放

JianJianJava.RemoveFirst('数组名')
'把指定集合里的第一个变量释放,如果集合里一个变量也没有,会把指定集合释放

JianJianJava.RemoveLast('数组名')
'把指定集合里的最后一个变量释放,如果集合里一个变量也没有,会把指定集合释放

Count = JianJianJava.XmlApplicationCount('数组名')
'返回集合里变量的个数
'/*==========================================*/'
XML文件的写是如下:
'/*==========================================*/'
<?xml version='1.0' encoding='gb2312'?>
<JianJianJava><Application/><Content/><Session/></JianJianJava>
'/*==========================================*/'

作者: 健健(Java)
QQ:   6090900
Email:CoolEase@126.com
欢迎交流

转载或修改时,请保留文件里的版权信息.谢谢.

 

 

======================(XML_Class.asp)ASP源代码文件===============
<%
Class FreeXml
'/*===============[版权声明]=================*/'
'/* Write By:  健健(Java)
'/* QQ Num:   6090900
'/* Email-Address:  CoolEase@126.com
'/* Date:   2004-06-17 23:13
'/* Web-Address:  Have no,Temporarily
'/* Class-Version:  3.0
'/* 转载时或修改时,请尊重作者的知识产权,保留此声明!
'/*==========================================*/'
'//=======[Declare Variables]
Public XmlDom,SoureFile,SessionID,XmlDoc,XmlNode,XmlAttr
'//=======[Set XML-File's Path]
Public Property Let Data(FilePath)
 If Len(FilePath) = 0 Then Response.Write('缓存数据文件路径不能为空'):Exit Property
  SoureFile = FilePath
  SessionID = Session.SessionID
 Set XmlDom = Server.CreateObject('MSXML2.FreeThreadedDOMDocument.4.0')
  XmlDom.Async = False
 If XmlDom.Load(SoureFile) Then
  Data = True
 Else
  Response.Write('缓存数据文件读取失败')
  Data = False
  Set XmlDom = Nothing
 End If
End Property
'//=======[Functions For Filter HTML]
Public Function FilterHTML(Str)
 If Not IsNull(Str) then
  Str = Replace(Str, '>', '&gt;')
  Str = Replace(Str, '<', '&lt;')
  Str = Replace(Str, '&', '&amp;')
  Str = Replace(Str, CHR(32), '&nbsp;')
  Str = Replace(Str, CHR(9), '&nbsp;')
  Str = Replace(Str, CHR(34),'&quot;')
  Str = Replace(Str, CHR(39),'&#39;')
  FilterHTML = Str
 End If
End Function
'//=======[Functions For Application]
Public Property Let XmlApplication(sCacheName,sCacheValue)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Application/' & sCacheName)
  If XmlDoc Is Nothing Then
   Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Application')
   Set XmlNode = XmlDom.createElement(sCacheName)
   XmlNode.Text = sCacheValue
   XmlDoc.AppendChild(XmlNode)
  Else
   XmlDoc.Text = sCacheValue
  End If
 XmlDom.Save(SoureFile)
End Property

Public Property Get XmlApplication(sCacheName)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Application/' & sCacheName)
  If XmlDoc Is Nothing Then
   XmlApplication = ''
  Else
   XmlApplication = XmlDoc.Text
  End If
End Property

Public Function RemoveXmlApplication(sCacheName)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Application/' & sCacheName)
  If Not(XmlDoc Is Nothing) Then XmlDoc.ParentNode.removeChild(XmlDoc)
 XmlDom.Save(SoureFile)
End Function

Public Property Get XmlApplicationCount()
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Application')
  XmlApplicationCount = XmlDoc.ChildNodes.Length
End Property
'//=======[Functions For Application.Content]
Public Property Let XmlApplicationContent(sArray,sCacheNum,sCacheValue)
If Not IsNumeric(sCacheNum) Then Exit Property
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/'&sArray&'/Cache[@ID='&sCacheNum&']')
  If XmlDoc Is Nothing Then
  Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/'&sArray)
   If XmlDoc Is Nothing Then
    Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content')
    Set XmlNode = XmlDom.createElement(sArray)
    XmlDoc.AppendChild(XmlNode)
   End If
    Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/'&sArray)
    Set XmlNode = XmlDom.createElement('Cache')
    XmlNode.Text = sCacheValue
    Set XmlAttr = XmlDom.createAttribute('ID')
    XmlAttr.Text = sCacheNum
    XmlNode.setAttributeNode XmlAttr
    XmlDoc.AppendChild(XmlNode)
  Else
   XmlDoc.Text = sCacheValue
  End If
 XmlDom.Save(SoureFile)
End Property

Public Property Get XmlApplicationContent(sArray,sCacheNum)
If Not IsNumeric(sCacheNum) Then Exit Property
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/' & sArray & '/Cache[@ID=' & sCacheNum & ']')
  If XmlDoc Is Nothing Then
   XmlApplicationContent = ''
  Else
   XmlApplicationContent = XmlDoc.Text
  End If
End Property

Public Property Get XmlApplicationContentByItem(sArray,sCacheNum)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/' & sArray)
  If XmlDoc Is Nothing Then
   XmlApplicationContentByItem = ''
  Else
   Set XmlNode = XmlDoc.ChildNodes.item(sCacheNum)
   If XmlNode Is Nothing Then XmlApplicationContentByItem = '' Else XmlApplicationContentByItem = XmlNode.Text
  End If
End Property

Public Property Get XmlApplicationContentConut()
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/' & sArray)
  If XmlDoc Is Nothing Then
   XmlApplicationContentConut = 0
  Else
   XmlApplicationContentConut = XmlDoc.ChildNodes.Length
  End If
End Property

Public Function RemoveLast(sArray)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/' & sArray)
  If Not(XmlDoc Is Nothing) And XmlDoc.ChildNodes.Length<>0 Then
   XmlDoc.removeChild(XmlDoc.ChildNodes.Item(XmlDoc.ChildNodes.Length - 1))
   XmlDom.Save(SoureFile)
   If XmlDoc.ChildNodes.Length = 0 Then
   XmlDoc.ParentNode.removeChild(XmlDoc)
   XmlDom.Save(SoureFile)
   End If
  End If
End Function

Public Function RemoveFirst(sArray)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/' & sArray)
  If Not(XmlDoc Is Nothing) And XmlDoc.ChildNodes.Length<>0 Then
   XmlDoc.removeChild(XmlDoc.ChildNodes.Item(0))
   XmlDom.Save(SoureFile)
   If XmlDoc.ChildNodes.Length = 0 Then
   XmlDoc.ParentNode.removeChild(XmlDoc)
   XmlDom.Save(SoureFile)
   End If
  End If
End Function

Public Function RemoveXmlApplicationContent(sArry,sCacheNum)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Content/'&sArray&'/Cache[@ID='&sCacheNum&']')
  If Not(XmlDoc Is Nothing) Then XmlDoc.ParentNode.removeChild(XmlDoc)
 XmlDom.Save(SoureFile)
End Function
'//=======[Functions For Sessions]
Public Property Let XmlSession(sCacheName,sCacheValue)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session/Guest[@ID='&SessionID&']/'&sCacheName)
  If XmlDoc Is Nothing Then
   Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session/Guest[@ID='&SessionID&']')
    If XmlDoc Is Nothing Then
     Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session')
     Set XmlNode = XmlDom.createElement('Guest')
     Set XmlAttr = XmlDom.createAttribute('ID')
     XmlAttr.Text = SessionID
     XmlNode.setAttributeNode XmlAttr
     XmlDoc.AppendChild(XmlNode)
     XmlDom.Save(SoureFile)
    End If
     Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session/Guest[@ID='&SessionID&']')
     Set XmlNode = XmlDom.createElement(sCacheName)
     XmlNode.Text = sCacheValue
     XmlDoc.AppendChild(XmlNode)
  Else
   XmlDoc.Text = sCacheValue
  End If
 XmlDom.Save(SoureFile)
End Property

Public Property Get XmlSession(sCacheName)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session/Guest[@ID='&SessionID&']/' & sCacheName)
  If XmlDoc Is Nothing Then
   XmlSession = ''
  Else
   XmlSession = XmlDoc.Text
  End If
End Property

Public Function RemoveXmlSession(sCacheName)
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session/Guest[@ID='&SessionID&']/' & sCacheName)
  If Not(XmlDoc Is Nothing) Then
   Set XmlNode = XmlDoc.ParentNode
   XmlNode.removeChild(XmlDoc)
  Else
   Exit Function
  End If
  If XmlNode.ChildNodes.Length = 0 Then XmlNode.ParentNode.removeChild(XmlNode)
 XmlDom.Save(SoureFile)
End Function

Public Property Get XmlSessionCount()
 Set XmlDoc = XmlDom.documentElement.selectSingleNode('/JianJianJava/Session/Guest[@ID='&SessionID&']')
  If XmlDoc Is Nothing Then
   XmlSessionCount = 0
  Else
   XmlSessionCount = XmlDoc.ChildNodes.Length
  End If
End Property
'//=======[Class Terminate]
Private Sub Class_Terminate()
 If IsObject(XmlNode) Then Set XmlNode = Nothing
 If IsObject(XmlAttr) Then Set XmlAttr = Nothing
 If IsObject(XmlDoc) Then Set XmlDoc = Nothing
 If IsObject(XmlDom) Then Set XmlDom = Nothing
End Sub
End Class
%>

替代IIS服务器程序.方配网站服务器(FPWebServer)

http://www.onlinedown.net/soft/115301.htm
  • phker
  • phker
  • 2017年01月17日 11:08
  • 422

如何解决服务器CPU使用率过高的问题

找出是因哪个站点导致的?   1、运行cmd; 2、输入命令 iisapp –a ,如下看到连接池对应的PID,则找到是因 appPool estate站导致的;   二、如何从该站中找出问...
  • lchyz89
  • lchyz89
  • 2012年08月23日 16:46
  • 611

利用消息队列实现服务器客户端的通信

1.server.c#include"utili.h"#define SND_TYPE 200 #define RCV_TYPE 100 typedef struct MsgType { lo...
  • derkampf
  • derkampf
  • 2017年03月11日 12:49
  • 443

Filezilla-----服务器发回了不可路由的地址,使用服务器地址代替-------解决办法

命令: PASV 响应: 227 Entering Passive Mode  状态: 服务器发回了不可路由的地址。使用服务器地址代替。 命令: LIST 错误: 连接超时 错误: 读取目录...
  • iastro
  • iastro
  • 2014年06月17日 08:59
  • 26002

OutLook 2007 本地接收邮件,解决服务器空间负担过大

呵呵,这里介绍一下本地接收邮件,不过由于本人电脑水平太差,可能有些东西理解有问题,要是有高手看到,希望指正啊。一般来说我们收到的邮件都是存放在服务器上的,但是一般服务器给的空间并不是很大,于是,工作中...
  • Jason_WKS
  • Jason_WKS
  • 2011年07月19日 10:41
  • 6218

ftp 服务器发回了不可路由的地址。使用服务器地址代替

ftp 服务器发回了不可路由的地址。使用服务器地址代替 转载地址:http://www.cnblogs.com/niocai/archive/2011/11/02/2233585.html...
  • incboy_fly_000
  • incboy_fly_000
  • 2013年11月28日 15:27
  • 1383

Smaba服务器配置

安装略过 先找到配置文件smb.conf的目录 可用find \ -name smb.conf 如图     配置文件输入以下 [liuzhihong]  (用来描述用户是那个用户,) ...
  • zhliu1991
  • zhliu1991
  • 2014年04月25日 19:42
  • 361

Serverless 架构:用服务代替服务器

Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究。如需 加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号...
  • hxpjava1
  • hxpjava1
  • 2017年06月22日 22:34
  • 147

Serverless架构 - 用服务代替服务器

Serverless架构 - 用服务代替服务器          还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了S...
  • qq_21387171
  • qq_21387171
  • 2016年12月12日 13:19
  • 1142

widows filezilla server 配置 服务器发回了不可路由的地址。被动模式失败。

前言:配置时候要打开服务器安全规则相应的端口 1、从附件中下载服务器  FileZilla_Server_cn-0_9_46.exe (1.67 MB, 下载次数: 5767) ,双击执行服务器...
  • qq_38370007
  • qq_38370007
  • 2018年02月02日 14:49
  • 32
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP+XML全面代替服务器服务,减低服务器负担
举报原因:
原因补充:

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