时间:2021-07-01 10:21:17 帮助过:9人阅读
- <br><%@ Application Language="C#" %> <br><%@ Import Namespace="System.Threading" %> <br><br><script runat="server"> <br><br>//这里使用静态保持对这处Timer实例的引用,以免GC <br>private static System.Threading.Timer timer = null; <br><br>protected void Application_Start(object sender, EventArgs e) { <br>//计算现在到目标时间要过的时间段。 <br>DateTime LuckTime = DateTime.Now.Date.Add(new TimeSpan(7, 0, 0)); <br>TimeSpan span = LuckTime - DateTime.Now; <br>if (span < TimeSpan.Zero) { <br>span = LuckTime.AddDays(1d) - DateTime.Now; <br>} <br>//按需传递的状态或者对象。 <br>object state = new object(); <br>//定义计时器 <br>timer = new System.Threading.Timer( <br>new TimerCallback(CertainTask), state, <br>span, TimeSpan.FromTicks(TimeSpan.TicksPerDay)); <br>} <br><br>protected void Application_End(object sender, EventArgs e) { <br>//结束时记得释放 <br>if (timer != null) { timer.Dispose(); } <br>} <br><br>//这里是指定时间执行的代码,必须是静态的。 <br>private static void CertainTask(object state) { <br>//这里写你的任务逻辑 <br>} <br><br></script> <br>