Какая лучшая реализация для более чем одной фоновой службы в приложении ASP.NET?
-
Отклик по таймеру
Timer timer = new Timer(new TimerCallback(MyWorkCallback), HttpContext, 5000, 5000);
-
Thread или ThreadPool
Thread thread = new Thread(Work); thread.IsBackground = true; thread.Start();
-
BackgroundWorker
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 сообщение здесь)
Мне нужно запустить несколько фоновых "сервисов" в данный момент времени. Одна услуга может выполняться каждые 5 минут, когда другая может быть раз в день. За один раз это будет не более 10 сервисов.