欢迎来到站长教程网!
兔子CDN

ASP编程

当前位置:主页 > 网络编程 > ASP编程 >

asp磁盘缓存技术使用的代码

时间:2020-09-09|栏目:ASP编程|点击:

这一种方法适合,访问相对集中在同样内容页面的网站,会自动生成缓存文件(相当于读取静态页面,但会增大文件)。如果访问不集中会造成服务器同时读取文件当机。

注意:系统需要FSO权限、XMLHTTP权限

系统包括两个文件,其实可以合并为一个。之所以分为两个是因为部分杀毒软件会因为里边含有FSO、XMLHTTP操作而被认为是脚本木马。

调用时,需要在ASP页面的最上边包含主文件,然后在下边写下以下代码

<% 
Set MyCatch=new CatchFile 
MyCatch.Overdue=60*5    '修改过期时间设置为5个小时 
if MyCatch.CatchNow(Rev) then 
    response.write MyCatch.CatchData 
    response.end 
end if 
set MyCatch=nothing 
%>

复制代码 代码如下:
主包含文件:FileCatch.asp
<!--#include file="FileCatch-Inc.asp"-->
<%
'---- 本文件用于签入原始文件,实现对页面的文件Catch
'---- 1、如果文件请求为POST方式,则取消此功能
'---- 2、文件的请求不能包含系统的识别关键字
'---- 3、作者 何直群 (www.wozhai.com)
Class CatchFile
        Public Overdue,Mark,CFolder,CFile '定义系统参数
        Private ScriptName,ScriptPath,ServerHost '定义服务器/页面参数变量
        Public CatchData        '输出的数据

        Private Sub Class_Initialize        '初始化函数
                '获得服务器及脚本数据
                ScriptName=Request.Servervariables("Script_Name") '识别出当前脚本的虚拟地址
                ScriptPath=GetScriptPath(false)        '识别出脚本的完整GET地址
                ServerHost=Request.Servervariables("Server_Name") '识别出当前服务器的地址

                '初始化系统参数
                Overdue=30        '默认30分钟过期
                Mark="NoCatch"        '无Catch请求参数为 NoCatch
                CFolder=GetCFolder        '定义默认的Catch文件保存目录
                CFile=Server.URLEncode(ScriptPath)&".txt"        '将脚本路径转化为文件路径

                CatchData=""
        end Sub

        Private Function GetCFolder
                dim FSO,CFolder
                Set FSO=CreateObject("Scripting.FileSystemObject")        '设置FSO对象
                CFolder=Server.MapPath("/")&"/FileCatch/"
                if not FSO.FolderExists(CFolder) then
                        fso.CreateFolder(CFolder)
                end if
                if Month(Now())<10 then
                        CFolder=CFolder&"/0"&Month(Now())
                else
                        CFolder=CFolder&Month(Now())
                end if
                if Day(Now())<10 then
                        CFolder=CFolder&"0"&Day(Now())
                else
                        CFolder=CFolder&Day(Now())
                end if
                CFolder=CFolder&"/"
                if not FSO.FolderExists(CFolder) then
                        fso.CreateFolder(CFolder)
                end if
                GetCFolder=CFolder
                set fso=nothing
        End Function

上一篇:删除A表中在B表中不存在的数据

栏    目:ASP编程

下一篇:ASP实现GB2312字符与区位码的相互转换的代码

本文标题:asp磁盘缓存技术使用的代码

本文地址:www.dtcnnet.com/asp/27529.html

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:584415406 | 邮箱:584415406#qq.com(#换成@)

Copyright © 2015-2020 小白站长网 版权所有 苏ICP备20040415号