服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP.NET教程 - asp.net 定时间点执行任务的简易解决办法

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

2019-06-24 15:13ASP.NET之家 ASP.NET教程

这里的定时间点执行任务,指的是每天的某个时间执行一项任务。

比如每天凌晨七点的时候email发送一次报表。 
这里首先想到的就是利用 Global.asax 文件来实现, 以下Global文件的内容。 
复制代码代码如下:

<%@ Application Language="C#" %> 
<%@ Import Namespace="System.Threading" %> 

<script runat="server"> 

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

protected void Application_Start(object sender, EventArgs e) { 
//计算现在到目标时间要过的时间段。 
DateTime LuckTime = DateTime.Now.Date.Add(new TimeSpan(7, 0, 0)); 
TimeSpan span = LuckTime - DateTime.Now; 
if (span < TimeSpan.Zero) { 
span = LuckTime.AddDays(1d) - DateTime.Now; 

//按需传递的状态或者对象。 
object state = new object(); 
//定义计时器 
timer = new System.Threading.Timer( 
new TimerCallback(CertainTask), state, 
span, TimeSpan.FromTicks(TimeSpan.TicksPerDay)); 


protected void Application_End(object sender, EventArgs e) { 
//结束时记得释放 
if (timer != null) { timer.Dispose(); } 


//这里是指定时间执行的代码,必须是静态的。 
private static void CertainTask(object state) { 
//这里写你的任务逻辑 


</script> 

延伸 · 阅读

精彩推荐