日期:2014-05-17  浏览次数:20940 次

关于asp静态化不成功的问题
VBScript code

<%
  dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp
  Html_Temp="<UL>"
  For i=1 To 3
  Html_Temp = Html_Temp&"<LI>"
  Item_Classid = i
  FileName = "Index"&Item_Classid&".htm"
  FilePath = Server.MapPath("/")&"\"&FileName
  Html_Temp = Html_Temp&FilePath&"</LI>"
  Do_Url = 你的网站地址
  Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/main/index.asp"
  Do_Url = Do_Url&"?Item_Classid="&Item_Classid
  strUrl = Do_Url
  dim objXmlHttp
  set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
  objXmlHttp.open "GET",strUrl,false
  objXmlHttp.send()
  Dim binFileData
  binFileData = objXmlHttp.responseBody
  Dim objAdoStream
  set objAdoStream = Server.CreateObject("ADODB.Stream")
  objAdoStream.Type = 1
  objAdoStream.Open()
  objAdoStream.Write(binFileData)
  objAdoStream.SaveToFile FilePath,2
  objAdoStream.Close()
  Next
  Html_Temp = Html_Temp&"<UL>"
  %>
  <%
  Response.Write ( "成功生成文件:" )
  Response.Write ( "<BR>" )
  Response.Write Html_Temp
  %>



想用上面的代码静态化asp页面,但不成功,不知道哪里出问题了,参考的是百度百科 http://baike.baidu.com/view/2647196.htm

------解决方案--------------------
asp静态化使用fso实现,不要使用什么Microsoft.XMLHTTP
------解决方案--------------------
fso
f.WriteLine("<html>")
f.WriteLine("<body>")
While Not rs.EOF
f.WriteLine("列表")
rs.MoveNext
Wend


实现静态,一般都有模板的。
模板就是一个文本文件。替换ianlm的内容区,再写成文件就可以了



------解决方案--------------------
objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
其实正常的话一般也可以的,只是在效率上不够直接,而且对服务器会造成不必要的压力。

使用XMLHTTP和ADODB.Stream两个配合完成,任何一个有错都不会成功。而使用FSO的话,直接生成静态页面,是效率最高也最稳定的。
------解决方案--------------------
http://9host.cn/tech-asp/20074221741144607.html