2012-03-13 22 views
6

Implementé algunos tipos diferentes de trabajadores en segundo plano que se ejecutan en ASP.NET, pero me pregunté cuál podría ser el enfoque recomendado/de mejores prácticas.ASP.NET 4.0- Trabajador de fondo: mejor práctica

En un almacén de datos (en este caso una base de datos mongo) que tienen una cola de acciones que necesito para procesar.

La cola crecerá dependiendo de ciertas acciones dentro de la aplicación ASP.NET MVC.

Quiero iniciar un subproceso en segundo plano/subproceso de trabajo que procesa continuamente estos elementos en cola.

¿Es tan simple como dando inicio a un trabajador en el fondo evento de inicio de la aplicación, o se ha de hacer en un temporizador?

gracias de antemano

sam

+4

lo que sea que hagas, tenlo en cuenta http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx – labroo

+0

gracias, habría sido una respuesta, creo. no es la mejor práctica, pero si se maneja bien puede ser lo suficientemente sólida como para funcionar. Según lo que he leído, el consenso general es alojar el proceso de fondo como un servicio de Windows, obviamente no es práctico en algunas situaciones. Sin embargo, tu enlace dio un buen ejemplo. – sambomartin

Respuesta

1

Creo que la mejor respuesta es este artículo de Haacked.

The Dangers of Implementing Recurring Background Tasks In ASP.NET

En IIS resumen es una impulsada servidor webpetición. Lo que significa que si no hay nadie golpeando su sitio web, nada sucederá. Puede solucionarlo, pero si desea tareas de fondo sólidas, el enfoque recomendado es Servicio de Windows.