//这种是定时间点执行任务的asp.net简易解决方案。
<%@ Application Language="C#" %>
<%@ Import Namespace="System.Threading" %>
<script runat="server">
private static System.Threading.Timer timer = null;
protected void Application_Start(object sender, EventArgs e) {
//计算现在到目标时间要过的时间段。
DateTime LuckTime = DateTime.Now.Date.Add(new TimeSpan(16, 59, 58));
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>