Asp定时执行操作 Asp定时读取数据库(网页定时操作详解)(2)
来源:asp之家 发布时间:2011-03-17 11:04:00
三,ASP使用VB写的定时组件
ASP中没有setTimeout这类的定时语句,我们需要利用ASP组件来解决,同样,可以采用VB6来编制,具体操作方法参考
上一编组件的做法,为了挂起线程,我们需要运用WIN32API函数Sleep,同样新建一个Active Dll工程,起名字为Timer,
类名为sleep。
sleep这个WIN32API函数可以用VB6自带的API文本浏览器中找到它的声明方法
现在类sleep的程序如下,这个组件程序很简单的,我不多解说了。
代码如下:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private m_set As Long
Public Property Get setup() As Long
setup = m_set
End Property
Public Property Let setup(strset As Long)
m_set = strset
End Property
Public Function Sleeptime()
Sleep (setup)
End Function
把它编译一下,就生成timer.dll这个组件dll,如果您不会写VB程序,那么您也可以在下载的文件包里找到timer.dll
这个文件。把它copy到windows目录下,在MS-DOS方式中输入
c:\windows\regsvr32 timer.dll
完成组件注册,同样可以使用这个定时组件。
现在解说刚才按个列子的ASP调用文件。看看这个组件如何使用
*定时器的应用
代码如下:
<html>
<title>定时器的应用(From:Http://www.aspxhome.com)</title>
<head>
</head>
<body>
<%
‘这个是脚本执行时间,默认为90秒,需要改长一点,不然在90秒后程序会被中断'3600为一小时
Server.ScriptTimeOut=3600
set obj=server.createobject("timer.sleep")
'参数1000为线程挂起一秒钟,可以随意设定
obj.setup=1000
do while true
obj.sleeptime
'执行定时操作,
If Not Response.IsClientConnected Then
set obj=nothing
session.abandon
End If
loop
%>
</body>
</html>
优点:在这里只是随便用VB写了一个测试的dll,但是用VB肯定可以在dll里面写一个定时执行的操作。
缺点:感觉VB写的这个dll可能会优点占资源。
四,结合电脑的任务计划的定时操作,我个人认为是目前最好的方法。
这个个人感觉是目前实现定时操作的最好方法。
就是先在服务器上写好要定时操作的页面,如Test.asp
然后写一个vbs文件,如下:
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
'运行你的 URL
ie.navigate("http://www.aspxhome.com")
ie.visible=1
'Clean up...
Set IE = Nothing
1,可以在服务器使用“任务计划”
2,也可以在客户机使用“任务计划”
具体使用“任务计划”的使用,请参考http://www.pclala.com/Pc/Skill/200851912807.Html
优缺点:页面会定时的弹出页面Test.asp,但是会有一个解决方法,就是在Test.asp页面加入定时关闭代码:
<script LANGUAGE="JavaScript">
<!--
setTimeout('window.close();', 500);
// -->
</script>
总结,由于目前部分网页语言的限制,在定时操作上有一定的困难,但是经过我多次的求证,发现第四种方法无疑是效果最好的,最省心的。


猜你喜欢
- 本文实例为大家分享了python编写决策树源代码,供大家参考,具体内容如下因为最近实习的需要,所以用python里的sklearn包重新写了
- 第一步:通过ip138来爬取外网ip第二步:通过python的smtplib模块和email来发送邮件,具体用法去网上搜索,下面是代码示例:
- 支付宝或者微信支付导出的收款二维码,除了二维码部分,还有很大一块背景图案,例如下面就是微信支付的收款二维码:有时候我们仅仅只想要图片中间的方
- (一)CSV格式文件1.说明CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储
- 前言Vscode是是一个强大的跨平台工具,我自己电脑是mac,公司电脑是win而且是内部环境,导致公司安装软件很费劲。好在vscode许多插
- 最近真的喜欢上了用xheditor这个在线编辑器,但是美中不足的是我发现它暂时还不能取代FCKeditor,因为没有在线上传功能啊!当然,F
- 路由原理在Tornado框架中,路由是指将请求的URL映射到对应的处理函数上,这个过程需要通过正则表达式来实现。Tornado使用了一种叫做
- 今天来分享一下图,这是一种比较复杂的非线性数据结构,之所以复杂是因为他们的数据元素之间的关系是任意的,而不像树那样 被几个性质定理框住了,元
- 今天生产上项目启动访问 一个数据库的时候,出现了ORA-12505, TNS:listener does not currently kno
- 最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准。对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经
- 上次说到的,使用如下代码保存矢量图时,放在外侧的图例往往显示不完整:import numpy as npimport matplotlib.
- 本文实例讲述了php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法。分享给大家供大家参考,具体如下:微信支付a
- 问题描述(以下讨论范围仅限Windows环境): D:\develop\ide\mysql\mysql5.5\bin> mysql -
- 1、查找重复记录 ①如果只是不想在查询结果中存在重复记录, 可以加Distinct select distinct * from TestT
- 前言如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。from alive_
- 迄今为止,导出/导入工具集仍是跨多个平台转移数据所需劳动强度最小的首选实用工具,尽管人们常常抱怨它速度太慢。导入只是将每条记录从导出转储文件
- <SCRIPT language=vbscript event=BeforeInitialBind(i
- 简介今天试着用ptyhon做了一个抓取网页内容,并生成word文档的功能,功能很简单,做一下记录以备以后用到。生成word用到了第三方组件p
- Keras应该是最简单的一种深度学习框架了,入门非常的简单.简单记录一下keras实现多种分类网络:如AlexNet、Vgg、ResNet采
- 1.在爬虫文件中只需要解析提取出图片地址,然后将地址提交给管道在管道文件对图片进行下载和持久化存储class ImgSpider(scrap