打印本页〗〖打印选项
ASP生成静态网页的方法
  随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用 Access 作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。将现有的ASP页直接生成静态页,将会节省很多。
  下面的例子是将、index.asp?id=1/index.asp?id=2/index.asp?id=3/这三个动态页面,分别生成 index1.htm,index2.htm,index3.htm 存在根目录下面:
  
<% 
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 = "http://" 
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 
%>



文章作者:未知