求助大家啦! 我想在每天晚上的12点让程序自动执行一些事情~ 应该采取哪种方法! 是web应该用程序哦~~~~~用计时器的话,非常依赖程序开始执行的时间~ 大家有什么好方法. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以写个服务程序,或者http://www.csdn.net/Develop/Read_Article.asp?Id=20695 设置一个Timer,频繁点的例如500毫秒一次。在Timer的事件处理函数中看是否是每天上午8点到下午4点,然后就做你想做的事。 设置一个Timer,频繁点的例如500毫秒一次,这样执行太频繁了 如果不想设置Timer的话,可以用sql的作业来做,很方便的!设置每天00:00执行就行了!在写个存储过程,让他执行你想做的事情。万事ok。 还是使用Timer做这种事最好.楼主的问题在于,一天只要执行一次并且要在固定的时间里面执行,而且要不受站点使用时间(开启时间)的限制,其实这都是可以解决的.基本的实现,就是让定时器一个小时运行一次,每次都在执行代码里面判断是否预定的点数,如果是则执行,不是则不执行./// <summary>/// 系统开启事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void Application_Start(Object sender, EventArgs e){ //创建一个新的Timer实例 System.Timers.Timer sysTimer = new System.Timers.Timer(); //将sysTimer_Elapsed指定为计时器的 Elapsed 事件处理程序 sysTimer.Elapsed += new System.Timers.ElapsedEventHandler(sysTimer_Elapsed); //一个小时执行一次,此单位为毫秒 sysTimer.Interval = 60*60*1000; sysTimer.AutoReset = true; sysTimer.Enabled = true;}/// <summary>/// 定时器事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void sysTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e){ //为了实现在12点开始执行,要做一些判断工作 if(DateTime.Now.Hour = 0) { //开始执行预定任务 }} 做个windows服务,很容量!想干啥事都行! 如果是操作数据库,你可以写一个存储过程,定时执行,sql server有计划任务得。————————————————————————————————DotNet中华网:www.aspxcn.org 微软官方sqlhelper,如何捕捉数据库链接错误呢? MVC下要传入多个参数该怎么写?? Extjs的打印功能方案,有经验的来!! web页面如何实现拖拽功能? viewState和DATASET 三层架构的简单问题,会的不难 运行vs2005提示“无法附加,函数不正确” 我将grid的表头设置为摸版,里面放入控件,现在不能显示标题,希望能够显示摸板控件和表头文字 怎么理解委托 困扰我很久的问题了,判知道的不吝赐教。 想将数据读到DATAGRID中的模板TEXTBOX中。 高手帮看看呀。 .net项目中棘手的问题!~100分 救急!谢谢各位!
http://www.csdn.net/Develop/Read_Article.asp?Id=20695
在Timer的事件处理函数中看是否是每天上午8点到下午4点,然后就做你想做的事。
基本的实现,就是让定时器一个小时运行一次,每次都在执行代码里面判断是否预定的点数,如果是则执行,不是则不执行./// <summary>
/// 系统开启事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Application_Start(Object sender, EventArgs e)
{
//创建一个新的Timer实例
System.Timers.Timer sysTimer = new System.Timers.Timer();
//将sysTimer_Elapsed指定为计时器的 Elapsed 事件处理程序
sysTimer.Elapsed += new System.Timers.ElapsedEventHandler(sysTimer_Elapsed);
//一个小时执行一次,此单位为毫秒
sysTimer.Interval = 60*60*1000;
sysTimer.AutoReset = true;
sysTimer.Enabled = true;
}
/// <summary>
/// 定时器事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void sysTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//为了实现在12点开始执行,要做一些判断工作
if(DateTime.Now.Hour = 0)
{
//开始执行预定任务
}
}
————————————————————————————————
DotNet中华网:www.aspxcn.org