日期:2014-05-18  浏览次数:20817 次

请教大家关于定时执行程序的问题
现在有一个模块,需要完成每天早上七点的时候执行从数据库中导入一个Excel报表,然后将这个报表发送到指定邮箱去
现在有个方法OutPutExcel()方法是从数据库导出Excel的方法,现在怎样使这个方法,在每天7点这个点进行执行,然后再将这个报表发送到指定邮箱去呢?

------解决方案--------------------
开一个线程,用while(true)循环查看当前时间,到了7点就干活,然后return.
------解决方案--------------------
用Timer控件试试。
------解决方案--------------------
Timer 控件也行
------解决方案--------------------
写个服务自动运行好了!
------解决方案--------------------
开辟一个线程专门来进行操作excel!!!
------解决方案--------------------
建议做个windows service,让它每天执行。
------解决方案--------------------
做Win Service吧
------解决方案--------------------
工作流引擎的调度好像就是干这种事的
------解决方案--------------------
推荐你看下
http://www.web-developer.com.cn/dispbbs.php?boardid=3&id=156&replyid=&skin=1
timer类
------解决方案--------------------
做一个window service是最方便的了,什么都不用你操心
------解决方案--------------------
实在不行的话做个导的程序,如果在windows里面新建个任务,每天7点运行这个程序
------解决方案--------------------
做个windows service 比较好

------解决方案--------------------
如果只是想定时导入的话,用windows任务是个好办法。
------解决方案--------------------
其实随便做什么都可以,当然还是做个windows 服务最好了,
主要的问题还是如何找到整点7点,这个方法只能一直刷新进行判断是否到了7点,刷新的间隔需要足够小,比如多少毫秒,这样才能去踩点
------解决方案--------------------
void Application_Start(object sender, EventArgs e) 
{
System.Timers.Timer myTimer = new System.Timers.Timer(30000);//这里改成24小时,可以开个线程
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
myTimer.Interval = 30000;
myTimer.Enabled = true; 
Application["MyDataSet"]=null;
Application["ButtomImage"] = null;
}


public void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
{
Application.Lock(); 
//imageDemo d = new imageDemo();// 这个类里边可以写导出发送之类的,调用他的方法即可

Application.UnLock();

}
------解决方案--------------------
让WINDOWS去控制,添加个计划任务就行了