【发布时间】:2009-09-15 02:27:19
【问题描述】:
在 ASP.NET 应用程序中实现多个后台服务的最佳方式是什么?
-
定时器回调
Timer timer = new Timer(new TimerCallback(MyWorkCallback), HttpContext, 5000, 5000); -
线程或线程池
Thread thread = new Thread(Work); thread.IsBackground = true; thread.Start(); -
后台工作人员
BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandler(DoMyWork); worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DoMyWork_Completed); worker.RunWorkerAsync(); -
缓存类似于 http://www.codeproject.com/KB/aspnet/ASPNETService.aspx(位于 Jeff Atwood 的 post here)
我需要在给定时间运行多个后台“服务”。一项服务可能每 5 分钟运行一次,而另一项服务可能每天运行一次。一次运行的服务永远不会超过 10 个。
【问题讨论】:
标签: asp.net multithreading background backgroundworker timer