当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP教程:applicaton对象的使用集合

ASP
在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项
ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码
ASP运行在IIS6 500错误解决办法
ASP 精华源码收集(五年总结)
ASP分页类(支持多风格变换)
动网论坛验证码改进 加法验证码(ASPJpeg版)
asp 存储过程分页代码
asp select下拉菜单选择图标并实时显示
aspjpeg组件通用加水印函数代码
aspjpeg 添加水印教程及生成缩略图教程
ASP 根据用户权限判断显示的列标题
asp 批量删除选中的多条记录
asp 隐藏并修改文件的最后修改时间
Discuz!NT 论坛整合ASP程序论坛教程
ajax+asp无限级分类树型结构(带数据库)
asp 由动态网页转变为静态网页的实现代码
通过表单的做为二进制文件上传request.totalbytes提取出上传的二级制数据
ASP 使用三层架构 asp中使用类
ASP GetRef 函数指针试探
ASP 三层架构 Error处理类

ASP教程:applicaton对象的使用集合


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

如果您不了解application对象的基本特征,可以查看本站的对象参考部分。
<%
''下面的function用来从动网论坛数据库中提出数据更新缓存 很简单的 提出最新发表的十个帖子
function refreshrecords()
Dim sql, conn, rs
sql = "select top 10 * FROM Dv_Topic order by DateAndTime desc"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&server.mappath("dv.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql,conn, 1, 1

If Not rs.EOF Then
Dim temp
temp="<ul>"
for i=1 to 10
temp = temp&"<li><a href=""http:*/bbs.sfte.net/dispbbs.asp?
boardID="&rs("Boardid")&"&ID="&rs
("topicid")&"&page=1"">"&rs("Title")&"("&rs("PostUserName")
&")</a></li>"
''这个地方各有所好了,显然和一个用table,td,tr,tbody来写前台的人合作,是一件很痛苦的事情.
rs.MoveNext
i=i+1
next
temp = temp & "</ul>"
refreshrecords = temp
Else
refreshrecords = "数据调用失败."
End If
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Function

''下面的function则是用来更新缓存的
function displayrecords(secs)

if Application("cache")="" or isempty(Application("cache")) then '''' 程序第一次运行时候更新缓存
''''application("cache")用来保存我们需要缓存在内存中的内容
''''application("cache_time")用来保留缓存上次更新的时间
''''我们只在两种情况下是需要调用refresh函数来访问数据库来更新缓存
''''第一种就是服务器重启 或者其他意外导致application存储的值丢失
Application.Lock
Application("cache_date")=now()
''更新缓存时间
Application("cache") = refreshrecords()
''更新缓存内容
''codeby niceidea 签名
Application.UnLock
end if

if DateDiff("s", Application("cache_date"),Now)> secs then ''比较上次更新时间与当前时间的差值
''''另外一种需要更新缓存的情况就是缓存到期 所谓缓存就是保留一定时间的数据 定期更新恐怕是最常见的
Application.Lock
Application("cache_date")=now()
Application("cache") = refreshrecords()
Application.UnLock
end if
Response.Write Application("cache")
End Function
%>


最后 调用的方法是
<%displayrecords(300)%>
300表示5分钟更新一次 60×5=300!