asp 静态页面的另一种思路

来源:asp之家 时间:2011-04-08 10:32:00 

其实这里的静态页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。

代码如下:


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

标签:asp,静态,页面
0
投稿

猜你喜欢

  • asp如何实现强制登录注册?

    2010-05-24 18:13:00
  • 解决asp中ADODB.Stream 0x800A0C93 错误

    2008-01-08 19:28:00
  • SQL Server与Oracle数据库在查询优化上的差异

    2009-02-18 14:28:00
  • Oracle数据库索引的维护

    2010-07-26 13:29:00
  • 语义化的label?

    2009-02-11 12:44:00
  • ServerXMLHTTP的setTimeouts超时设置

    2010-01-02 20:38:00
  • CSS用relative和absolute实现的图片定位效果

    2008-10-06 21:37:00
  • H1标签的定义

    2008-07-29 12:43:00
  • 什么是XML?

    2007-10-29 12:53:00
  • 捕捉并保存ASP运行错误的函数代码

    2012-11-30 20:24:43
  • jQuery中文入门教程

    2007-12-09 19:20:00
  • 另类读写:ACCESS中Field对象的标题属性

    2008-11-28 16:47:00
  • 纯CSS3透明水晶盒

    2011-08-24 20:20:06
  • js查找/搜索页面中的字符源代码

    2008-02-17 17:13:00
  • 巧用Dreamweaver MX设计导航栏特效

    2009-07-10 13:17:00
  • 这么多的 Oracle 性能工具

    2008-06-04 11:20:00
  • 详解PHP结构型设计模式之桥接模式Bridge Pattern

    2023-05-25 06:58:55
  • jQuery性能优化指南[译]

    2009-05-12 11:54:00
  • 交互设计实用指南系列(4)—“有效性”之“简洁清晰,自然易懂”

    2010-01-05 16:52:00
  • ASP操作XML的方法

    2008-03-06 21:43:00
  • asp之家 网络编程 m.aspxhome.com