请教一个asp利用XMLHTTP生成静态页面的问题!
问题: 我利用XMLHTTP生成静态页面。 程序运行了一段时间很好,但是现在出现了一个问题,就是每次生成的时候生成到一半程序就卡死了。 比如所现在又10个新闻需要生成10个页面,但是生成到5个页面的时候就卡死了。不知道为什么。求求各位大虾帮忙啊。 下面是程序代码:
totalrec=Conn.Execute("select count(*) from News")(0)
sql="Select * from News order by ID desc"
Set Rs=Conn.Execute(sql)
if totalrec=0 then
Detail_Num=0
Else
Detail_Num=1
do while not rs.eof
ID=rs("ID")
call htmll("","",""&NewName&""&Separated&""&ID&"."&HTMLName&"","NewsView.asp","ID=",ID,"","")
Response.Write "<script>bar_img.width="&Fix((Detail_Num/totalrec)*300)&";"
Response.Write "bar_txt1.innerHTML=""已成功生成静态页"&Detail_Num&"页,完成比例:" & formatnumber(Detail_Num/totalrec*100) & """;</script>"
Response.Flush
rs.movenext
Detail_Num=Detail_Num+1
loop
end if
rs.close
set rs=Nothing
conn.close
set conn=Nothing
就是说每次都要调用htmll这个方法。 htmll方法如下:
Function htmll(mulu,htmlmulu,FileName,filefrom,htmla,htmlb,htmlc,htmld)
if mulu="" then mulu="/"
if htmlmulu="" then htmlmulu="/"
mulu=replace(SysRootDir&mulu, "//", "/")
htmlmulu=replace(SysRootDir&htmlmulu, "//", "/")
FilePath=Server.MapPath(mulu)&"\"&FileName
Do_Url="http://"
Do_Url=Do_Url&Request.ServerVariables("server_name")&htmlmulu&filefrom
Do_Url=Do_Url&"?"&htmla&htmlb&"&"&htmlc&htmld
strUrl=Do_Url
set objXmlHttp=Server.createObject("Microsoft.XMLHTTP")
objXmlHttp.open "GET",strUrl,false
objXmlHttp.send()
binFileData=objXmlHttp.responseBody
Set objXmlHttp=Nothing
set objAdoStream=Server.CreateObject("Adodb." & "Stream")
objAdoStream.Type=1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()
set objAdoStream=nothing
End Function
请大家帮帮忙! 很急!