2012-06-23 28 views
7

Estoy desarrollando el servidor back-end para un juego por turnos usando App Harbor y hasta ahora parece que se adapta perfectamente a mis necesidades. Realmente me gustaría ejecutar un proceso en segundo plano para procesar los datos de turno, etc., y me preguntaba si alguien podría aclarar cuál es la diferencia entre 'Trabajadores web' y 'Trabajadores de referencia'. Tengo una experiencia bastante limitada con el desarrollo web, pero hasta donde puedo decir 'Web workers' son para interactuar con páginas AJAX (que no necesito) y 'Background workers' te permiten ejecutar una aplicación de consola en segundo plano (que sí necesito!)Cuál es la diferencia entre 'Trabajadores web' y 'Trabajadores de segundo plano' en App Harbor

¡Gracias!

Respuesta

5

Trabajadores web está conectado con la solicitud del navegador y puede obtener y enviar datos a la solicitud en el navegador.

Antecedentes Los trabajadores son hilos independientes que no están conectados con ninguna solicitud y no pueden enviar datos al navegador solo *.

[*] Solo a través de un trabajador web.

4

En general, 'Trabajador web' es la aplicación web, o el sitio/servicio ASP.NET que maneja las solicitudes del usuario. 'Trabajador de fondo' es simplemente una tarea programada. Se ejecuta en segundo plano, en intervalos específicos, y ejecuta algún código.

La diferencia es que un trabajador web hace algo de trabajo cuando llega una nueva solicitud a la aplicación. Una solicitud significa que alguien carga una página/llama a un servicio web en ASP.NET. Mientras que el trabajador en segundo plano se inicia en algún intervalo, y no necesita un usuario para cargar una página para su ejecución. Se usa principalmente para procesar tareas de larga ejecución. El flujo de trabajo habitual es: el trabajador web recibe una solicitud del usuario y pone en cola algunos datos para procesar. En la siguiente ejecución, el trabajador de fondo obtiene los datos y los procesa, y almacena los datos en algún lugar (generalmente en la base de datos). Luego, el trabajador web, a petición del usuario, verifica la base de datos y, si el resultado está allí, se lo muestra al usuario.

De esta manera, el usuario no tiene que esperar que la página asp.net procese los datos y devuelva un resultado de inmediato.

Cuestiones relacionadas