zl程序教程

您现在的位置是:首页 >  后端

当前栏目

asp.net定时间点执行任务的简易解决办法

NetASP执行 时间 简易 任务 解决办法
2023-06-13 09:14:14 时间
比如每天凌晨七点的时候email发送一次报表。
这里首先想到的就是利用Global.asax文件来实现,以下Global文件的内容。
复制代码代码如下:

<%@ApplicationLanguage="C#"%>
<%@ImportNamespace="System.Threading"%>

<scriptrunat="server">

//这里使用静态保持对这处Timer实例的引用,以免GC
privatestaticSystem.Threading.Timertimer=null;

protectedvoidApplication_Start(objectsender,EventArgse){
//计算现在到目标时间要过的时间段。
DateTimeLuckTime=DateTime.Now.Date.Add(newTimeSpan(7,0,0));
TimeSpanspan=LuckTime-DateTime.Now;
if(span<TimeSpan.Zero){
span=LuckTime.AddDays(1d)-DateTime.Now;
}
//按需传递的状态或者对象。
objectstate=newobject();
//定义计时器
timer=newSystem.Threading.Timer(
newTimerCallback(CertainTask),state,
span,TimeSpan.FromTicks(TimeSpan.TicksPerDay));
}

protectedvoidApplication_End(objectsender,EventArgse){
//结束时记得释放
if(timer!=null){timer.Dispose();}
}

//这里是指定时间执行的代码,必须是静态的。
privatestaticvoidCertainTask(objectstate){
//这里写你的任务逻辑
}

</script>