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

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

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

一种减轻服务器负担并提高客户端间通讯效率的网络通讯设计[TCP/UDP合用] | 简单加密

这是一个简单的P2P模型,目标是尽量减少服务器的负担和维持双方通讯的开销。 我自己设想了一个通讯架构,主要的设计思路就是,仅在登陆时通过服务器获取数据,然后客户端间互相通讯。一来减少了服务器出入流量,...

ASP.NET一个简易的WebServer,用控制台程序模拟IIS服务器 托起web服务

写了一个简单WebServer 服务器,可以处理js、css、html、aspx的请求,以及图片、视频 代码如下: public delegate void ProcessRequestHan...
  • dz45693
  • dz45693
  • 2012年04月16日 17:09
  • 4810

ASP小服务器 代替IIS用的

  • 2011年12月13日 14:25
  • 620KB
  • 下载

无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动

无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 HKE...
  • joyksk
  • joyksk
  • 2015年09月10日 16:10
  • 207

无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动 .

法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 HKEY...
  • bobwu
  • bobwu
  • 2012年12月13日 14:27
  • 729
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP+XML全面代替服务器服务,减低服务器负担
举报原因:
原因补充:

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