用Timer解决问题的思路很简单首先设定Timer类的Interval属性(单位是毫秒)也就是时间间隔然后在Timer的Elapsed的事件里写执行代码每过一个设置好的Interval时间间隔将执行一次Elapsed中的事件 (这和VB程序中的Timer控件基本没有区别)
那知道了用什么类这些代码要写在哪里呢?把代码写在Globalasax件中在VS的项目上右键点添加》新建项选“全局应用程序类”项目中就会有Globalasax文件了
为了表达清楚直接上代码(首先在Globalasax文件头部引入systemTimers命名控件)
<span style="fontsize:px;"> public class Global : SystemWebHttpApplication { //在网站运行时这段代码同时启动 protected void Application_Start(object sender EventArgs e) { SystemTimersTimer objTimer = new SystemTimersTimer(); objTimerInterval = *; //这个时间单位毫秒 objTimerEnabled = true; //设置Timer类的可用性 //将Timer的Elapsed事件绑定到新建立的timer对象上 objTimerElapsed += new ElapsedEventHandler(objTimer_Elapsed); }</span>
下面是在Timer的Elapsed事件中的代码
<span style="fontsize:px;">void objTimer_Elapsed(object sender ElapsedEventArgs e){ string Time = DateTimeNowToShortTimeString();//获得当前时间//从配置文件里获得当前设置的时间 string OrderTime = ConfigurationManagerAppSettings["OrderFoodTime"]; /*测试数据*/ if(TimeEquals(OrderTime)) { //如果时间相等执行你要执行的操作这里可以调用你程序中的其他类的方法 }}</span>
这样就能达到定时执行程序的目的了
这是用在我项目中的定时执行在论坛里问关于定时执行的方案也有人说用windows服务比较安全