.net 怎么定时执行程序

.net 怎么实现定时执行代码,请给出具体的实例,谢谢!

用Timer解决问题的思路很简单,首先设定Timer类的Interval属性(单位是毫秒),也就是时间间隔;然后在Timer的Elapsed的事件里写执行代码,每过一个设置好的Interval时间间隔,将执行一次Elapsed中的事件 (这和VB程序中的Timer控件基本没有区别)。
那知道了用什么类,这些代码要写在哪里呢?把代码写在Global.asax件中,在VS的项目上右键,点添加--》新建项,选“全局应用程序类”,项目中就会有Global.asax文件了。

为了表达清楚直接上代码(首先在Global.asax文件头部引入system.Timers命名控件):
<span style="font-size:18px;"> public class Global : System.Web.HttpApplication
{
//在网站运行时这段代码同时启动
protected void Application_Start(object sender, EventArgs e)
{
System.Timers.Timer objTimer = new System.Timers.Timer();
objTimer.Interval = 60*1000; //这个时间单位:毫秒
objTimer.Enabled = true; //设置Timer类的可用性
//将Timer的Elapsed事件绑定到新建立的timer对象上
objTimer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed);

}</span>

下面是在Timer的Elapsed事件中的代码
<span style="font-size:18px;">void objTimer_Elapsed(object sender, ElapsedEventArgs e)
{
string Time = DateTime.Now.ToShortTimeString();//获得当前时间
//从配置文件里获得当前设置的时间。
string OrderTime = ConfigurationManager.AppSettings["OrderFoodTime"];

/*测试数据*/
if(Time.Equals(OrderTime))
{
//如果时间相等,执行你要执行的操作,这里可以调用你程序中的其他类的方法
}
}</span>
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-22
1.要定时执行程序只需要启动一个定时器(或者开辟一个线程,但是线程资源占用多余定时器来),在定时器里面获取系统时间;
2.再通过对系统时间进行判断,更可以 if ...else if ...else 不同时间段执行对应的代码以达到目的。
第2个回答  2011-11-08
winform :
1, 把定时器控件(Timer) 拖到窗体上
2, 双击窗体,打开代码编辑,然后在form1_load中写代码:
private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Enabled = true;//启用定时器
this.timer1.Interval = 1000;//定时间隔时间:豪秒
this.timer1.Tick += new EventHandler(timer1_Tick);//添加事件处理
this.timer1.Start();//开始计时
}

void timer1_Tick(object sender, EventArgs e)
{
//这里写每次定时执行的代码。。。你懂的
}
第3个回答  2011-11-06
设置一个定时器。当定时器触发时:执行你写的代码程序本回答被提问者采纳
相似回答