2010-04-09 8 views

Respuesta

13

La única diferencia entre un papel web y un rol de trabajo es que en el papel web, IIS (en realidad Alojado Core Web) se inicia y señaló a su directorio de datos de la aplicación. Todavía se puede poner código en WebRole.cs que hace exactamente lo mismo que lo haría en su rol de trabajo, por lo que la decisión realmente debería ser "¿Quieres IIS?" Si es así, utiliza un rol web. Si no, usa un rol de trabajador.

2

es difícil dar una respuesta definitiva, sin más información, pero a primera vista, diría un papel trabajador. Esto es como un servicio de fondo de Windows, en oposición a algo que responde a las solicitudes HTTP a medida que llegan.

5

Sin duda un rol de trabajo, el papel web es, como su nombre sugiere, diseñado para responder a las peticiones web, y dependiendo de la configuración de IIS, las peticiones web es probable que el tiempo de espera después de 1 minuto más o menos.

+0

+1 por mencionar * por qué * uno podría no funcionar tan bien como el otro. – Nate

2

En relación con su pregunta sobre cómo alojar un rol de trabajador: es exactamente el mismo proceso que tener un rol web: simplemente agregue un nuevo rol a su proyecto y elija Rol de trabajador en lugar de Papel web. Los roles no son más que "máquinas virtuales". Y cuando selecciona el número de "instancias", eso equivale a la cantidad de máquinas virtuales que se están ejecutando. Lo que @smarx estaba explicando simplemente dice que los roles web (o máquinas virtuales web) tienen IIS a su disposición, donde los roles de los trabajadores no.

Para ver lo que un rol de trabajo que está haciendo, hay dos patrones relativamente comunes:

  • poner en marcha su propio servidor web (su papel en realidad puede poner en marcha programas en el arranque, incluyendo cosas tan finas como servidores web) . En este caso, la función de trabajador devolvería cosas a su interlocutor solo como algo en una función web. Simplemente sin ayuda de IIS.
  • Comunicar tareas a su rol de trabajo con una cola. En este caso, su rol de trabajador lee algún mensaje de la cola (usted elige el formato del mensaje). Entonces actúa sobre eso. Luego se va y lee el siguiente mensaje. Ejemplo: creas un sitio para compartir fotos. Coloca un sitio web en una función web y tiene una opción para que un usuario cargue una foto. Luego la almacena en una base de datos (o tabla) y pone un mensaje de cola como "Crear miniaturas para la imagen n. ° 123". El rol de trabajador lee este mensaje, recupera la imagen # 123 de la base de datos y crea unas miniaturas que muestra en la base de datos. Ese proceso puede llevar mucho tiempo, pero el visitante de su sitio web nunca lo nota.

Si desea ver algunos buenos videos para comenzar, consulte Cloud Cover Show. El episodio 3 habla específicamente sobre la creación de roles de trabajador, y @smarx muestra cómo alojar el servidor html Mongoose desde un rol de trabajador.

0

Voy a hacer que sea sencillo

  • papel web es para la celebración de una aplicación basada en la web de IIS.

  • rol de trabajador es para cualquier otra aplicación.

La única diferencia real entre los dos es que IIS está instalado en el rol web y su aplicación se desplegará en él.

Cuestiones relacionadas