网站地图
信息中心
C#定时执行程序
作者:西安网站建设  来源:www.xacx.net  发表时间:2013-5-8 23:19:21  点击:2168
    用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>

这样就能达到定时执行程序的目的了。

这是用在我项目中的定时执行,在论坛里问关于定时执行的方案,也有人说用windows服务比较安全

本站关键词:西安网站建设| 西安网站制作| 西安网页设计| 西安网站设计| 西安网页制作 | 西安网站推广 | 西安软件开发 | 西安网站优化 | 西安做网站
公司地址:西安市高新区融鑫路3号自力集团六层
邮编:710065 业务咨询:029-89545093 技术支持:13402979816
Copyright ©2006-2012 www.xacx.net All Rights Reserved. 西安驰讯科技有限公司 保留所有权利