展会信息港展会大全

Asp.net定时执行程序详解
来源:互联网   发布日期:2016-01-27 15:28:17   浏览:1854次  

导读:用Timer解决问题的思路很简单,首先设定Timer类的Interval属性(单位是毫秒),也就是时间间隔;然后在Timer的 Elapsed的事件里写执行代码,每过一个设置好的Interval时间间隔,将执行一次Elapsed中的事件 (这 ...

用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服务比较安全

赞助本站

人工智能实验室

相关热词: 定时 执行程序 net

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港