Pregunta

Jeff ya ha blogueado acerca de el uso de la caché para llevar a cabo "fuera de banda" de procesamiento en sus sitios web, sin embargo, me preguntaba ¿qué otras técnicas gente está utilizando para procesar este tipo de tareas?

¿Fue útil?

Solución

Años atrás, vi a Rob Howard describir una manera de utilizar un HttpModule para procesar tareas en segundo plano.No parece ser tan resbaladizo como el uso de la Caché, pero podría ser mejor para ciertas circunstancias.

Este blog tiene los detalles, y hay muchos otros que capturar la misma información si usted mire a su alrededor.

Otros consejos

Servicio De Windows

Usted puede desear mirar en cómo DotNetNuke hace.Sé que está escrito en VB.NET pero yo adaptar el código en C#.Estaba hojeando el origen y di cuenta de que tenían una característica en su área de administración para la configuración de las tareas programadas.Estas tareas obtener la configuración a través de la interfaz de administración y almacenados en la base de datos.Cuando la obra comienza, a través de la Global.asax archivo, se crea otro thread para ejecutar este servicio que, a continuación, ejecuta las tareas programadas en el tiempo programado.No recuerdo exactamente la lógica, ha sido un tiempo, pero definitivamente es un buen recurso sobre cómo otras personas han hecho de la banda de los procesos para Asp.Net aplicaciones.Esta técnica todavía se mantiene dentro de la lógica de la Asp.Net la aplicación, pero se ejecuta fuera de banda, en mi opinión.

si es principalmente tareas de procesamiento de datos, y está usando MSSQL, ¿programada SSIS tareas?

Tareas programadas, o cron puestos de trabajo.

El problema con las tareas programadas o cron puestos de trabajo es que ellos no comparten el espacio de memoria con el servidor web.Se podría configurar una tarea programada que pidió a las páginas del servidor web, pero que podría crear problemas con las tareas de ejecución prolongada.Sería bueno tener algo de baja prioridad subprocesos que se ejecutan en el real ASP.Net la pila de aplicaciones para hacer sencilla la utilidad de las tareas como la limpieza de la memoria caché, de supervisión de los recursos, y solo para lidiar con la limpieza general.

Simple cola de archivos, junto con un agente separado.Para cada tipo de fuera de banda el proceso de escribir un agente separado .exe que mira un directorio para los archivos de cola que incluyen los datos necesarios para realizar el proceso especificado.

Esto puede parecer sucio pero en el mundo real me parece que le da mucha flexibilidad, usted no está haciendo una gran cantidad de procesamiento en ASP.net espacio de proceso y usted puede fácilmente adaptar este estilo a la granja de servidores de procesamiento a hoteles de servidores Linux ejecutando el agente de proceso en Mono para cuando empiezan a necesitar más RAM/CPU/disco.

Si usted se sienta más cómodo asp.net páginas usted puede escribir una pequeña aplicación para manejar su trabajo y, a continuación, hacer un "ping" a la aplicación con un servicio externo que supervisa su sitio web.Esto le permitirá mantener la aplicación viva.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top