首页 新闻 会员 周边

如何在固定的时间调用方法那

0
悬赏园豆:20 [已解决问题] 解决于 2010-11-14 23:09

比如说: 我在每天8点钟的时候调用一个方法,该如何实现那

不想用获取时时当前时间然后对比的那种方法,这种方法感觉太浪费资源了。

有没有更好一点的方法那,求指点

在北落的主页 在北落 | 初学一级 | 园豆:159
提问于:2010-11-14 20:26
< >
分享
最佳答案
0

DateTime target = DateTime.Today.AddHours(20);
if (target < DateTime.Now) {
target
= target.AddDays(1);
}
System.Threading.Thread.Sleep(target
- DateTime.Now);

 

收获园豆:24
I,Robot | 大侠五级 |园豆:9783 | 2010-11-14 20:33
其他回答(1)
0

用windows service吧,

public partial class Service1 : ServiceBase
{
private Timer timer;
public Service1()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
DateTime nowTime
=DateTime.Now;
DateTime startTime
=new DateTime(nowTime.Year,nowTime.Month,nowTime.Day+1,8,0,0);

timer
= new Timer(delegate(object param)
{
//执行]执行方法
}, null, startTime.Subtract(DateTime.Now).Milliseconds, 24 * 60 * 60 * 1000);


}

protected override void OnStop()
{
timer.Dispose();
}
}

 

收获园豆:16
wgz | 园豆:1254 (小虾三级) | 2010-11-14 22:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册