以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  [求助]我用xml+ajax+asp做了个类似聊天室的东东,现在出现了很奇怪的问题,在用loadrunner测试的时候,xml文件会时不时的被重写。。  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=123505)


--  作者:点心
--  发布时间:2/20/2012 1:49:00 PM

--  [求助]我用xml+ajax+asp做了个类似聊天室的东东,现在出现了很奇怪的问题,在用loadrunner测试的时候,xml文件会时不时的被重写。。
RT!
XML原始代码:
<?xml version="1.0" encoding="GB2312"?>
<xml><site></site></xml>

数据添加后是这样:
<?xml version="1.0" encoding="GB2312"?>
<xml><site><item><id>1</id><name>shenyimao</name><time>2012/2/20 13:42:55</time><IP>192.168.3.16</IP><content>同学们好,同志们好!</content><check>0</check><gz>0</gz></item><item><id>2</id><name>Messaround</name><time>2012/2/20 13:42:55</time><IP>192.168.3.16</IP><content>今天这里好热闹啊。</content><check>0</check><gz>0</gz></item></site></xml>

然后在用loadrunner做测试的时候,不定大小的过个几分钟,文件会被重写。例如在数据写到500条记录的时候,突然又变成1条或2条这样子。。。也就是xml文件被从头写入了。。。。

不晓得这是什么情况,也不一定是500条有时候50条60条也会出这情况

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。。。

请各位大大帮找找原因啊


--  作者:点心
--  发布时间:2/20/2012 1:51:00 PM

--  
ajax读取和添加时用的asp代码:
<!--#include file="../inc/conn.asp" -->
<%
dim XMLMorntekDocument

lid=checkForm(request("lid"))
id=checkForm(request("id"))

if lid="" then
 response.write("<script>alert('非法进入!');history.go(-1)</script>")
 response.end
end if

if not IsNumeric(lid) then
 response.write("<script>alert('非法进入!');history.go(-1)</script>")
 response.end
end if

if lid <0 or lid >100000000 then
 response.write("<script>alert('非法进入!');history.go(-1)</script>")
 response.end
end if

flag=checkForm(request("flag"))

if flag<>"j" and flag<>"w" then
 response.write("<script>alert('非法进入!');history.go(-1)</script>")
 response.end
end if

function checkForm(Str)
 Str=decode(Str)
 Str = replace(Str, ">", "&gt;")
 Str = replace(Str, "<", "&lt;")
 Str = Replace(Str, CHR(32), "&nbsp;")
 Str = Replace(Str, CHR(9), "&nbsp;")
 Str = Replace(Str, CHR(9), "    ")
 Str = Replace(Str, CHR(34), "&quot;")
 Str = Replace(Str, CHR(39), "'")
 Str = Replace(Str, CHR(13), "")
 Str = Replace(Str, CHR(10), "<br>")
 Str = Replace(Str, "<br>", "")
 
 checkForm=Str
end function

function ConnectXml(filename)
 dim strSourceFile
 strSourceFile = Server.MapPath(filename)
 Set XMLMorntekDocument = Server.CreateObject("Microsoft.XMLDOM")
 XMLMorntekDocument.async = false
 XMLMorntekDocument.load(strSourceFile)
 ConnectXml=XMLMorntekDocument.parseerror.errorcode
 if XMLMorntekDocument.parseerror.errorcode<>0 then
  strError="<h2>error"&XMLMorntekDocument.parseerror.errorcode&"</h2>"
  strError=strError&XMLMorntekDocument.parseerror.reason&"<br>"
  strError=strError&XMLMorntekDocument.parseerror.url&"<br>"
  strError=strError&XMLMorntekDocument.parseerror.line&"<br>"
  strError=strError&XMLMorntekDocument.parseerror.filepos&"<br>"
  strError=strError&XMLMorntekDocument.parseerror.srcText&"<br>"
  response.write strError
 end if
end function

function CloseXml(XMLMorntekDocument)
 if IsObject(XMLMorntekDocument) then
  set XMLMorntekDocument=nothing
 end if
end function

Function SelectXmlNodeText(ByVal nNode)
 SelectXmlNodeText = objsite.childNodes.item(StarNodes).childNodes.item(nNode).text
End Function

Function AddXmlNodeText()
 Set oListNode = XMLMorntekDocument.documentElement.selectSingleNode("site").AppendChild(XMLMorntekDocument.createElement("item"))
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("id"))
 oDetailsNode.Text=id
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("name"))
 oDetailsNode.Text=pname
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("time"))
 oDetailsNode.Text=now()
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("IP"))
 oDetailsNode.Text=Request.ServerVariables("REMOTE_ADDR")
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("content"))
 oDetailsNode.Text=content
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("check"))
 oDetailsNode.Text=check
 Set oDetailsNode = oListNode.appendChild(XMLMorntekDocument.createElement("gz"))
 oDetailsNode.Text=gz
 XMLMorntekDocument.save(server.mappath("/xml/w"&lid&".xml"))
End Function

dim action
action=request.querystring("action")

select case action
case "get"
 ConnectXml("/xml/"&flag&lid&".xml")
 if XMLMorntekDocument.parseerror.errorcode=0 then
  Set objsite = XMLMorntekDocument.documentElement.selectSingleNode("site")
  AllNodesNum = objsite.childNodes.length - 1
  
  if flag="w" then
   aa=50
   bb=0
  end if
  
  for StarNodes1 =0 to AllNodesNum
  
   StarNodes = AllNodesNum-StarNodes1
   
   id=SelectXmlNodeText(0)
   pname=SelectXmlNodeText(1)
   addtime=SelectXmlNodeText(2)
   ip=SelectXmlNodeText(3)
   content=SelectXmlNodeText(4)
   check=SelectXmlNodeText(5)
   
   if check="0" then
   TempStr="{pname:"""&encode(pname)&""",content:"""&encode(content)&""",add_time:"""&encode(addtime)&"""},"
   ReturnStr=ReturnStr+TempStr
   end if
   
   if flag="w" then
    bb=bb+1
    
    if bb>=aa then
     exit for
    end if
   end if
  next
  
  If ReturnStr<>"" Then '//截掉最后一个逗号
   ReturnStr=Left(ReturnStr,Len(ReturnStr)-1)
  Else    '//无留言返回0
   ReturnStr="0"
  End If
  
  Response.Write(ReturnStr)

 end if   
 CloseXml(XMLMorntekDocument)

case "add"
 pname=trim(request("pname"))
 content=trim(request("content"))
 
 if pname<>"" and content<>"" then
 
  ConnectXml("/xml/w"&lid&".xml")
  
  if XMLMorntekDocument.parseerror.errorcode=0 then
  
   Set objsite = XMLMorntekDocument.documentElement.selectSingleNode("site")
   if objsite.hasChildNodes then
    id = objsite.lastChild.firstChild.text + 1
   else
    id="1"
   end if
  
   check="0"
   gz="0"
   AddXmlNodeText()
  
  else
   Set objPI=XMLMorntekDocument.createProcessingInstruction("xml", "version=""1.0"" encoding=""GB2312""")
   XMLMorntekDocument.appendChild(objPI)
   
   Set linkdataxml=XMLMorntekDocument.createElement("xml")
   XMLMorntekDocument.appendChild(linkdataxml)
   
   Set linkdatasite=XMLMorntekDocument.createElement("site")
   linkdataxml.appendChild(linkdatasite)
   XMLMorntekDocument.save(server.mappath("/xml/w"&lid&".xml"))
   
   Set objsite = XMLMorntekDocument.documentElement.selectSingleNode("site")
   
   if objsite.hasChildNodes then
    id = objsite.lastChild.firstChild.text + 1
   else
    id="1"
   end if
   
   check="0"
   gz="0"
   AddXmlNodeText()
   
  end if
  
  CloseXml(XMLMorntekDocument)
 end if
 
end select

%>


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms