C# 定时自动执行程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 定时自动执行程序相关的知识,希望对你有一定的参考价值。
现在做一个新闻采集系统、需要定时采集、也就是说设定一个时间值(例如每天、每周、每月...)在程序关闭的情况下、也能执行采集任务、这样的需求不知道如何实现、请大家来帮帮忙、
如果是web程序,可以在Global.asax文件的Application_Start中执行,具体代码写在下边。当然你要了解Application_Start事件机制,需要在web程序第一次被执行,并且不停止该站点时一直有效。或只能把应用程序作为系统的服务器,随windows一起启动了。
void Application_Start(object sender, EventArgs e)
System.Timers.Timer tr1 = new System.Timers.Timer(CheckEmailInterval);
tr1.AutoReset = true;
tr1.Enabled = true;
tr1.Start();
tr1.Elapsed += new System.Timers.ElapsedEventHandler(tr1_Elapsed);
void tr1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
要执行的代码 参考技术A 这个要在globa.ascx中执行 只要服务器开着就能执行
举个定时发送mail的例子
在global.asax 中 <%@ import Namespace="System.Timers" %>
void Application_Start(object sender, EventArgs e)
// Code that runs on application startup
System.Timers.Timer MT = new System.Timers.Timer(8000); // 定义一个扫描函数 扫描时间为八秒
MT.Elapsed += new System.Timers.ElapsedEventHandler(MTimedEvent); //扫描后的触发函数
MT.Enabled = true;
private void MTimedEvent(object source, System.Timers.ElapsedEventArgs e)
int nowhour =Convert.ToInt32(DateTime.Now.Hour.ToString());
int nowmin =Convert.ToInt32(DateTime.Now.Minute.ToString());
if ((nowhour >= 07 && nowmin >= 45) && (nowhour >= 07 && nowmin < 52)) //07:45~07:52 之间 自己在这设定特定时间 就能执行
// 。。。。 这里写你自己的函数 下面是我发mail的函数
string sysmailpwd = microaaasecurity.Security.Encrypt("Slq1234");
microaaamail.Mail mailsend = new microaaamail.Mail(); // 用自己的发mail方法
bool sendok = mailsend.SendMail(
"renjian.zhang",
sysmailpwd,
"renjian.zhang@deltaww.com.cn",
"renjian.zhang@deltaww.com.cn",
"部门请购信息通知",
" aaasdsada");
希望对你有启发 参考技术B 这个需要你的程序一直处于open的状态
1、可以设置系统计划任务,定于你要求的时间点启动程序
2、可以设置程序里判断,到你要求的时间点就处理,没到时,Thread.Sleep休眠
如while(true)
if(时间到了)
xxx
Thread.Sleep(1000);
然后在服务器上运行这个程序,不要关闭 参考技术C Quartz.NET作业调度框架
.net C# winform程序定时运行代码
有一个程序,我想让该程序每天早上9点准时运行,怎么解?最好详细代码说明.....
你可以设置某段功能每隔1小时执行一次:如果时间在09:00到10:00之间 才执行 其他时间不执行。可以参考附件的代码 【每隔一小时检查过期未完成的工作】
以上是关于C# 定时自动执行程序的主要内容,如果未能解决你的问题,请参考以下文章