求教:如何实现虚拟主机上的定时自动运行程序
我公司网站建立在一个购买的虚拟主机空间上,空间支持FSO\ASP\ASP.NET\Access
网站系统采用C#+ASP.NET+Access开发
现在欲实现下述功能:
每日凌晨3时,自动从其他网站上下载数据更新位于虚拟主机上的数据库.
要求全部操作在虚拟主机上完成.即不是通过我公司的计算机访问虚拟主机实现,因为公司计算机下班后全部关机.
请高手赐教!不胜感激!
问题点数:50、回复次数:12Top
1 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-05-12 20:22:35 得分 45
http://blog.joycode.com/percyboy/articles/3595.aspx
http://blog.joycode.com/dotey/archive/2004/12/20/41438.aspxTop
2 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-12 21:21:44 得分 5
给你一个资料,如下:
在 ASP.NET 中使用计时器(Timer)
我在实验中发现在 ASP.NET 中可以使用计时器(Timer)完成一些定时动作。这一点可能会对我们的一些 Web 程序有益。
下面首先介绍我测试使用的一个例子:
首先在 global.asax 中的 Application_OnStart 事件过程中定义计时器,代码如下:
[VB.NET] global.asax
<%@ import Namespace="System.Timers" %>
<script runat="server">
Sub Application_OnStart(sender As Object, e As EventArgs)
'' 创建一个计时器,单位:毫秒
Dim aTimer As New System.Timers.Timer(10000)
'' 将 Fresher 指定为计时器的 Elapsed 事件处理程序
AddHandler aTimer.Elapsed, AddressOf Fresher
'' AutoReset 属性为 true 时,每隔指定时间循环一次;
'' 如果为 false,则只执行一次。
aTimer.AutoReset = True
aTimer.Enabled = True
'' 先给 Application("TimeStamp") 指定一个初值
Application.Lock()
Application("TimeStamp") = DateTime.Now.ToString()
Application.UnLock()
End Sub
Sub Fresher(sender As Object, e As ElapsedEventArgs)
Application.Lock()
Application("TimeStamp") = DateTime.Now.ToString()
Application.UnLock()
End Sub
</script>
然后我们简单写一个 test.aspx 来查看 Application("TimeStamp") 的值。代码如下:
[VB.NET] test.aspx
<%
Response.Write(Application("TimeStamp"))
%>
Top
3 楼SunShinejia(SunShine)回复于 2005-05-12 22:25:42 得分 0
还有没有其他的办法?Top
4 楼ldljlq(越搞越不明白)回复于 2005-05-12 23:10:44 得分 0
在虚拟主机上我觉得最合适的就是timer了。
Google一下,很多介绍的。Top
5 楼SunShinejia(SunShine)回复于 2005-05-13 11:20:20 得分 0
如何用C#代码实现 每天凌晨3时自动更新?能否请高手给个具体的例子?谢谢!Top
6 楼SunShinejia(SunShine)回复于 2005-05-13 11:48:07 得分 0
求教中^^^^^^Top
7 楼blackhero(黑侠客)回复于 2005-05-13 11:50:55 得分 0
指点Top
8 楼SunShinejia(SunShine)回复于 2005-05-16 16:32:44 得分 0
如何用C#代码实现 每天凌晨3时自动更新?能否请高手给个具体的例子?不胜感激!Top
9 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-05-16 16:51:49 得分 0
还是写个正规的WindowsServer程序吧。不要把计时器寄托在单个客户端触发的应用程序进程里。Top
10 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-05-16 16:54:51 得分 0
写个windows服务使用代码注册到服务器。
或者写个.exe用代码通过dos的at或者2003上新增的任务管理命令注册。Top
11 楼diecode(老死鸡)回复于 2005-05-16 17:11:21 得分 0
写个windows服务器
通过任务管理实现Top
12 楼SunShinejia(SunShine)回复于 2005-05-16 21:52:58 得分 0
我购买的虚拟主机不允许这种操作,还是Timer好,只是不知道具体程序如何实现?Top





