C# 定时自动执行程序 5

现在做一个新闻采集系统、需要定时采集、也就是说设定一个时间值(例如每天、每周、每月...)在程序关闭的情况下、也能执行采集任务、这样的需求不知道如何实现、请大家来帮帮忙、... 现在做一个新闻采集系统、需要定时采集、也就是说设定一个时间值(例如每天、每周、每月...)在程序关闭的情况下、也能执行采集任务、这样的需求不知道如何实现、请大家来帮帮忙、 展开
 我来答
来自红塔高高兴兴的米老鼠
推荐于2017-12-15 · TA获得超过322个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:210万
展开全部
如果是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)
{要执行的代码}
小宝爸爸笔记
2012-02-06 · TA获得超过2297个赞
知道小有建树答主
回答量:904
采纳率:50%
帮助的人:663万
展开全部
这个要在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");

}

}
希望对你有启发
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youbl
2012-02-06 · TA获得超过2510个赞
知道大有可为答主
回答量:1844
采纳率:62%
帮助的人:1666万
展开全部
这个需要你的程序一直处于open的状态
1、可以设置系统计划任务,定于你要求的时间点启动程序
2、可以设置程序里判断,到你要求的时间点就处理,没到时,Thread.Sleep休眠
如while(true){
if(时间到了){
xxx
}
Thread.Sleep(1000);
}
然后在服务器上运行这个程序,不要关闭
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LifeRushing
2012-02-07 · TA获得超过786个赞
知道小有建树答主
回答量:861
采纳率:0%
帮助的人:506万
展开全部
Quartz.NET作业调度框架
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式