您当前的位置是:首页-ASP教程

用缓存进行判断是否要生成新的HTML

【发表于】:2010/10/19 23:44:00  已被访问:145次
<%
  '判断是否要生成新的HTML
  if Application("cache_asptohtml_date")="" then
      Application.Lock
      Application("cache_asptohtml_date")=now()
      Application.Unlock
      Call aspTohtml
      Response.Redirect("index.html")
  end if
 if DateDiff("s", Application("cache_asptohtml_date"),Now)> 100 then  '比较上次更新时间与当前时间相差多少秒
     Application.Lock
     Application("cache_asptohtml_date")=now()
     Application.UnLock
     Call aspTohtml
     Response.Redirect("index.html")
 Else
     Response.Redirect("index.html")
 End if
 
 '获取当前目录!
  getpath
     if Request.ServerVariables("SERVER_PORT")<>"80" then
         UserUrl = "http://"&Request.ServerVariables("SERVER_NAME")& ":" & Request.ServerVariables("SERVER_PORT")& Request.ServerVariables("URL")
     else
         UserUrl = "http://"&Request.ServerVariables("SERVER_NAME")& Request.ServerVariables("URL")
     end if
     getpath=left(UserUrl,InstrRev(UserUrl,"/"))
 end
 
 sub aspTohtml
     '----------------------------------------------------------
     '使用XMLHTTP生成静态首页的代码
     'Curl 为你的首页地址,确保你的空间支持FSO
     '-----------------------------------------------------------
     dim read,Curl,content
     Curl=getpath&"index.asp"
     read=getHTTPPage(Curl)
     if read<>"" then
         content=read
         Set Fso = Server.CreateObject("ing.FileSystemObject")
         Filen=Server.MapPath("index.html")
         Set Site_Config=FSO.CreateTextFile(Filen,true, False)
         Site_Config.Write content
         Site_Config.Close
         Set Fso = Nothing
     end if
 End sub
  getHTTPPage(url)
   dim http
   set http=Server.createobject("Microsoft.XMLHTTP")
   Http.open "GET",url,false
   Http.send()
   if Http.readystate<>4 then
     exit
   end if
   getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
   set http=nothing
   if err.number<>0 then err.Clear
 End
 
  BytesToBstr(body,Cset)
   dim objstream
   set objstream = Server.CreateObject("adodb.stream")
   objstream.Type = 1
   objstream.Mode =3
   objstream.Open
   objstream.Write body
   objstream.Position = 0
   objstream.Type = 2
   objstream.Charset = Cset
   BytesToBstr = objstream.ReadText
   objstream.Close
   set objstream = nothing
 End
%>
 
上下篇: 使用一个ini类来代替缓存使用 ASP利用404错误实现自动生成静态页面

最新推荐信息