惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
博客园_首页
IT之家
IT之家
The Cloudflare Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Y
Y Combinator Blog
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
美团技术团队
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 【当耐特】
小众软件
小众软件
有赞技术团队
有赞技术团队

博客园 - Magic.Z

几种可能使 Windows 7 睡眠后自动唤醒的原因 IIS 7.5 下载文件遇到 404.3 试用 Entity Framework Power Tools CTP1 通过 WebBrowser 获取网页截图 WPF 客户端上传文件到 ASP.NET MVC 网站 开启 IE9 导航声音 WPF 实现屏幕文字提示 - Magic.Z - 博客园 AJAX 网页保留浏览器前进后退等功能 ADO.NET Entity Framework Feature 中的 CodeFirst 创建数据库和实体类 赠送 MSDN 订阅激活卡 在 ASP.NET WebForm 中使用 Route 在 ASP.NET MVC 中创建自定义 HtmlHelper 注意防范ASP.NET中可能导致信息泄漏的漏洞 在 ASP.NET MVC Web 应用程序中输出 RSS Feeds 用 Windows Media Center 浏览互联网视频 WebMatrix 简介 打印网页中的 GridView Visual Studio 2010 中的 MSDN 帮助文档 在 ADO.NET Entity Framework 4 中使用枚举
ASP.NET 网站后台任务
Magic.Z · 2010-06-17 · via 博客园 - Magic.Z

很多网站都有后台任务的需要,如定时地对队列中的待发送电子邮件进行发送或定时地检查应用程序的运行状况。本文介绍实现ASP.NET网站后台任务的一个方法。
先了解一下Global.asax.cs文件中的Application_Start这个函数。当网站启动后,第一个用户访问该网站时,这里的代码会被执行。我们在这里创建一个线程用来执行后台任务。

1 Thread backgroundThread = new Thread(new ThreadStart(Tasks.Start));
2 backgroundThread.Start();

在这个线程启动时,我们用一个定时器来使任务定时执行。

1 Timer t = new Timer(10000);  // 每10秒执行一次
2 t.Elapsed += new ElapsedEventHandler(WriteFile);    // WriteFile方法是要被定时执行的方法
3 t.Enabled = true;
4 t.AutoReset = true;

在这个例子中,被定时执行的任务是向一个文本文件中写入当前时间。

StreamWriter sw = new StreamWriter(filePath,true);
sw.WriteLine(
"{0}\n", DateTime.Now.ToString());
sw.Flush();
sw.Close();

这样就实现了ASP.NET网站后台执行一个定时任务。

示例代码下载(Visual Studio 2010可用)