Mejor implementación de servicio de fondo ASP.NET
¿Cuál es la mejor implementación para más de un servicio en segundo plano en una aplicación ASP.NET?
Timer Callback
Timer timer = new Timer(new TimerCallback(MyWorkCallback), HttpContext, 5000, 5000);
Hilo o ThreadPool
Thread thread = new Thread(Work);
thread.IsBackground = true;
thread.Start();
Trabajador de fondo
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(DoMyWork);
worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DoMyWork_Completed);
worker.RunWorkerAsync();
Cachear comohttp://www.codeproject.com/KB/aspnet/ASPNETService.aspx (ubicado en Jeff Atwood'spublicar aquí)
Necesito ejecutar múltiples "servicios" de fondo en un momento dado. Un servicio puede ejecutarse cada 5 minutos donde otro puede ser una vez al día. Nunca se ejecutarán más de 10 servicios a la vez.