我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > ASP中CACHE技术
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

ASP中CACHE技术 

作者:   来源:   点击:   日期:2006-10-26

 

我认为在ASP中最好的办法是用编程实现定时刷新Cache,也就是说给Application中储存的设一个过期时间。当然,在ASP中Application对象没有这样一个ExpireTime属性。这需要用程序实现。
 

Code

  • ASP:default.asp

    <%@Language=VBScript%>
    <%
    Option  Explicit%>
    <%Response.Buffer=
    True%>
    <!--#include file = "conn.asp"-->
    <!--#include file = "GetCache.asp"-->

    <HTML>
        <HEAD>

            <TITLE>ASP Cache演示</TITLE>
            <META
    HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
        </HEAD>
        <BODY>

        <h4>每隔10秒刷新Cache</h4>
        <%
        response.Flush
        GetHTMLStream
        response.Write
        HTMLStream
        %>

        </body>
    </html>

     

  • ASP:getcache.asp

    <%
    Const CACHE_DEFAULT_INTERVAL = 30 '每隔30秒刷新一次cache
    Dim HTMLStream
    Dim IsExpires
    IsExpires = CacheExpires
    Function CacheExpires
       
    Dim strLastUpdate
        Dim result strLastUpdate = Application("LastUpdate")
       
    If (strLastUpdate = "") Or (CACHE_DEFAULT_INTERVAL < DateDiff("s", strLastUpdate, Now)) Then
            result =
    true
            SetLastUpdateTime
        Else
            result =
    false
        End If
        CacheExpires = result
    End Function

    Sub SetLastUpdateTime
        Application.Lock
        Application(
    "LastUpdate") = CStr(now())
        Application.UnLock
    End Sub

    Sub GetHTMLStream
        If IsExpires Then
            UpdateHTMLStream
        End If
        HTMLStream=Application(
    "CACHE_HTMLStream")
    End Sub

    Sub
    UpdateHTMLStream
       
    dim d
        d = FetchHTMLStream
        Application.Lock
        Application(
    "CACHE_HTMLStream") = d
        Application.UnLock
    End Sub

    Function
    FetchHTMLStream 
      
      Dim rs ,strSQL, strHTML
        Set rs = CreateObject("ADODB.Recordset")
        strSQL = "select categoryID , categoryname from categories"
        rs.Open strSQL, strConn,adOpenForwardOnly,adLockReadOnly
        strHTML = strHTML & "<select name=""slt_search"">"
        while (not rs.EOF)
            strHTML = strHTML & "<option>"
            strHTML = strHTML & rs.Fields
    ("categoryname")
            strHTML = strHTML &
    "</option>" rs.MoveNext
        wend
        strHTML = strHTML & "</select>"
        rs.Close

        Set rs = Nothing
        FetchHTMLStream = strHTML
    End Function
    %>

     

  • ASP:conn.asp

    <!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}"-->
    <%
        dim strConn
        strConn =
    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind"
    %>


文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP技巧 ·如何把ASP编写成DLL
·用ASP和SQL实现基于Web的事件日历 ·ASP显示在线人数
·ASP技术访问WEB数据库 ·JAVA高级:基于JSP的动态网站开发技术

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。