asp实现静态页面的一种思路 - ASP教程
发布时间:2016-10-10 19:48:20 所属栏目:Asp教程 来源:站长网
导读:今天还算比较空闲!最近的两个网站的开发使我产生了不少新的想法!也阅读过了不少优秀的代码, 但总没有找到一种符合自己的模式!借鉴缓存的设计,我似乎找到了一种更便捷的思路。其实这里的静态 页面并不是真正意义上的静态,但可以达到了静态页面的解析效
今天还算比较空闲!最近的两个网站的开发使我产生了不少新的想法!也阅读过了不少优秀的代码, 但总没有找到一种符合自己的模式!借鉴缓存的设计,我似乎找到了一种更便捷的思路。其实这里的静态 页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。
<% '文章来源:http://www.devjs.com Const DEVJS_INDEX="index.html" Const INDEX_DEFAULT_INTERVAL=300 Dim sLastUpdate '用Application保存最后更新的时间,而在页面里做判断,每隔300秒(5分钟)就生成一次页面 sLastUpdate=Application("INDEX_LAST_Update") If sLastUpdate="" or DateDiff("s",sLastUpdate,now())>INDEX_DEFAULT_INTERVAL Then '调用MakeIndex()生成页面,同时更改最后更新时间 MakeIndex() sLastUpdate=Now() Application("INDEX_LAST_Update")=sLastUpdate Response.Write "超出默认时间,更新于" & sLastUpdate Else Response.Write "读取静态页面,更新于" & sLastUpdate End If Response.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),"GB2312") Function MakeIndex() sContent="<hr>" & Now() Call SaveTextFile(Server.MapPath(DEVJS_INDEX),"GB2312",sContent) End Function %> 如果过期就更新页面,没有过期直接调用静态页面,这里还用到了两个函数,一并贴上,提醒注意一 下,SaveTextFile()是以覆盖方式写入的 就是这一句 oStream.SaveToFile sFilePath,2 <% Function LoadTextFile(sFilePath,sCharset) Dim oStream Set oStream=Server.CreateObject("ADODB.Stream") oStream.Type=2 oStream.Mode=3 oStream.Open oStream.Charset=sCharset oStream.Position=oStream.Size oStream.LoadFromFile sFilePath LoadTextFile=oStream.ReadText oStream.Close Set oStream=Nothing End Function Function SaveTextFile(sFilePath,sCharset,outString) SaveFile=false Dim oStream Set oStream = Server.CreateObject("ADODB.Stream") oStream.Type=2 oStream.Mode=3 oStream.Open oStream.Charset=sCharset oStream.WriteText = outString oStream.SaveToFile sFilePath,2 oStream.Close Set oStream = Nothing SaveTextFile=true End Function %> 这个比缓存省事,也直接的多!其实,在MakeIndex()里可以做很多事,比如读取模板文件进行替换这 些。 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |