当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp 静态页面的另一种思路

ASP
ASP六大对象介绍
使用Filter实现信息的二次检索
让弹出窗口变得“听话”一些
在ASP中利用“正则表达式” 对象实现UBB风格的论坛
“Web 匿名用户”帐户密码的位置
对一些编程初学者的良言警句
ASP编程中15个非常有用的例子
精彩:ASP遗留的二十大积习
关于Asp代码与页面的分离
教大家如何利用ASP打造网站论坛DIY(1)
教大家如何利用ASP打造网站论坛DIY(2)
网站安全:防范ASP木马的十大基本原则
用ASP设计一个留言薄
趣味访客计数器设计两则
我的ASP之旅—二级联动菜单制作
ASP编程--新手上路篇:ASP技术简介
用ASP实现网上考试系统
请注意!常见的ASP脚本攻击及防范技巧
ASP开发的WAP格式简易邮件系统实例
asp基础教程:网页间数据传递方法小结

ASP 中的 asp 静态页面的另一种思路


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 92 ::
收藏到网摘: n/a

最近的两个网站的开发使我产生了不少新的想法!也阅读过了不少优秀的代码,但总没有找到一种符合自己的模式!借鉴缓存的设计,我似乎找到了一种更便捷的思路。 其实这里的静态页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。
复制代码 代码如下:

<%
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()里可以做很多事,比如读取模板文件进行替换这些。