保存上次的更新时间 在判断是否到7天 log xml
如果只是一个小程序,我建议使用Windows服务来做。
http://www.cnblogs.com/aaa6818162/archive/2009/08/10/1542619.html
一、用SQL的job
二、用windows service
http://www.cnblogs.com/downmoon/archive/2009/09/16/1567643.html
保存上次更新时间或者使用winservice
上面的这些回复基本上都行得通,我再提供二种方法扩展思路吧:
1.在global.ascx文件的Application_Start事件中,定义一个Timer定时器就行了.(潜在问题:如果IIS重启或应用程序池回收了,web application将重新加载,定时器将重新计时,所以这种方法请酌情使用)
2.服务端记录一下最后执行的时间,页面请求时判断该时间是不是已经7天了,如果是就执行处理。(可能有人会问:如果7天内没人来访问我的网站呢? 回答:既然没有一个访客,说明网站根本没人看,即使做了处理,也没人关心或查看,执行的意义也不大)
webservice做服务端 之后可以通过delphi C/C++ C# PB等写一个客户端与之通信
通信时 最好加一个验证密码
直接用sql server里面的job来做比较方便和简单
按照你的说法,用timer最符合你的要求。在Global文件的Application_Start中创建一个timer,
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = 60000;//执行间隔时间,单位为毫秒
timer.Start();
timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);
private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//我是定时执行的方法
}
楼上正解。简单快速
使用 timer
public void TimeRecord()
{
aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 1000;
aTimer.Enabled = true;
}
public void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
{
decimal intRecordTime = main.TxtRecordTime.Value * 1000;
decimal intStopRecordTime = main.TxtStopRecordTime.Value * 1000;
if (isRunning)
{
aTimer.Interval = (double)intRecordTime;
isRunning = false;
}
else
{
aTimer.Interval = (double)intStopRecordTime;
StartRecord(10,main.TxtSaveFilePath.Text.Trim());
isRunning = true;
}
}
只要用 VS 创建一个纯文本的 C# 项目,编译后会产生 .exe,
把这个 .exe 丢到 Windows 里的排程,设置每天几点执行就好了,不用任何编程能力就可达成。