首页 > 编程 > .NET > 正文

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

2024-07-10 12:53:37
字体:
来源:转载
供稿:网友

由于项目需要构建月/日表并每天进行统计,因此封装了一个类库以供使用,今天这里错新技术频道小编将和大家分享解决asp.net 定时间点执行任务的办法,相信大家一定会有所收获的。
这里首先想到的就是利用 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>

 上面的解决asp.net 定时间点执行任务的办法,各位朋友们都看完了吗?大家有没有搞清楚上面的内容呢?总之,大家可以将上文的内容作为参考,跟多精彩的内容大家可以更多关注错新技术频道!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表