怎样在每天00:00分定时执行一个任务呢? 做一个服务,用windows的任务来执行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单的做,用window的任务就行,要不就得做一个window服务程序。 用win98或win2000中的计划任务即可 ASP.NET 用这个:Timer 组件根据您指定的时间间隔,定期引发一个名为 Elapsed 的事件。您可以处理这个事件来执行必要的处理。例如,假设您有一个联机销售应用程序,它持续向一个数据库投递销售订单。编译要传送的指令的服务成批处理订单,而不是单独地处理每份订单。您可以使用计时器每 30 分钟启动一次批处理。 net use 建立连接(或者说登陆)net time的到要运行程序的机器时间at添加计划任务 啊,发现大家好象误会我的意思了!计划任务是用来定时执行一个可执行文件的吧?我这里的任务是指我的程序里的一个函数要实现的功能。sorry:(程序大概是这样子的,相信是个很普遍的问题:程序运行时要把运行日志保存下来,不过保存成一个文件的话,如果程序连续运行几天的话运行日志会变得很大。于是想在每天00:00的时候程序自动把运行日志保存到新的文件中。用定时器在这种每天唤醒一次的场合合适吗?请大家提提思路:) 在写入日志的地方加一个时间判断,如果是零点,则新建一个日志文件,同时更改原来的日志文件的文件名,这样就做到了,不必用timer和windows service.原因有:1、timer只适合频繁计时。 另外,timer有三个:System.Windows.Form.Timer System.Timers.Timer System.Threading.Timer 其中,System.Windows.Form.Timer计时不精确2、windows service也不适合一天只触发一次的时间判断 to Xparticle谢谢你提供思路,呵呵,我想到另一种解决方法了。因为程序中我还用了另一些定时器。有些定时器在00:00分的时候会做一些特定的事情决定把改日志名的这个任务交给它来做好了:)呵呵,不知大伙还有没其它思路呢? 用WINDOWS写一个自动扫描的线程,然后用线程唤起程序。 //定时扫描,隔1分钟扫描一次 //系统初始化的时候定义一个blnStartImport 变量用来判断是否需要执行你的函数 private void Looktimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { ADImportDB.lib.import Import; try { int NowHour = System.DateTime.Now.Hour; if(NowHour>=0 && NowHour<1) { if(blnStartImport == true) { Looktimer.Enabled = false; if(你的函数()==true) { blnStartImport = false; } Looktimer.Enabled = true; } } else { blnStartImport = true; } } catch(Exception err) { Looktimer.Enabled = true; Log.WriteLogLocal(err.Message.ToString()); } finally { Import = null; } } 请问下qiujinwen,ADImportDB.lib.import Import;和后面的一句Import=null;是什么意思呢?好象函数中没用到呢??呵呵,能不能实现在我的函数成功执行后把时间间隔提到明天的00:00分然后在00:00的时候再把时间间隔改为1秒直至成功执行完我的函数,然后以此循环呢? ADImportDB.lib.import Import是我自己写的一个导数据的类。你可以不要:)。我是定时每天0:00导一次的。就这段代码...导数据的时候我已经把timer.enable= false了。导完或失败的时候才设置成true 用timer每个一点时间起来判断时间,我觉得对于一天运行一次程序,效率是在有问题。占用资源恐怕太多了。 你用每分钟扫描一次的timer并不能保证一定会在0:00执行,除非你每秒钟扫描一次 WinForm listView控件的高度调节 请教一个模拟登录的问题! 有一个List<int>,要全部加1,求最简单的写法。 同样是反射,怎么结果就一样呢? 如何实现DataGridView行位置改变前的事件? 07年 100 分 ,winfrm ,owc11 如何更改工作表 字符串转换整形数的疑惑 哪位做过过磅软件,怎么获取磅称上的数据呀? 【小菜鸟】关于winform中的Process问题,求大神指导 SOS!c#中如何通过语句实现给 一个表增加一个字段?!!谢谢!! 介绍一下.NET装配件 各位GG,vs.net 1.0版本怎吗打开1.1版本建立的工程文件???
要不就得做一个window服务程序。
net time的到要运行程序的机器时间
at添加计划任务
计划任务是用来定时执行一个可执行文件的吧?
我这里的任务是指我的程序里的一个函数要实现的功能。
sorry:(
程序大概是这样子的,相信是个很普遍的问题:
程序运行时要把运行日志保存下来,不过保存成一个文件的话,如果程序连续运行几天的话运行日志会变得很大。
于是想在每天00:00的时候程序自动把运行日志保存到新的文件中。用定时器在这种每天唤醒一次的场合合适吗?请大家提提思路:)
1、timer只适合频繁计时。
另外,timer有三个:System.Windows.Form.Timer
System.Timers.Timer
System.Threading.Timer
其中,System.Windows.Form.Timer计时不精确
2、windows service也不适合一天只触发一次的时间判断
谢谢你提供思路,呵呵,
我想到另一种解决方法了。
因为程序中我还用了另一些定时器。有些定时器在00:00分的时候会做一些特定的事情
决定把改日志名的这个任务交给它来做好了:)呵呵,不知大伙还有没其它思路呢?
//系统初始化的时候定义一个blnStartImport 变量用来判断是否需要执行你的函数
private void Looktimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
ADImportDB.lib.import Import;
try
{
int NowHour = System.DateTime.Now.Hour;
if(NowHour>=0 && NowHour<1)
{
if(blnStartImport == true)
{
Looktimer.Enabled = false;
if(你的函数()==true)
{
blnStartImport = false;
}
Looktimer.Enabled = true;
}
}
else
{
blnStartImport = true;
}
}
catch(Exception err)
{
Looktimer.Enabled = true;
Log.WriteLogLocal(err.Message.ToString());
}
finally
{
Import = null;
}
}
ADImportDB.lib.import Import;
和后面的一句Import=null;
是什么意思呢?
好象函数中没用到呢??
呵呵,能不能实现在我的函数成功执行后把时间间隔提到明天的00:00分
然后在00:00的时候再把时间间隔改为1秒直至成功执行完我的函数,
然后以此循环呢?