2008-09-18 23 views
5

Estoy trabajando en un proyecto que usa Windows 2008, .NET 3.5 y WCF para algunos servicios internos y ha surgido la pregunta de cómo alojar los servicios.Web hosting WAS vs Windows Service

Como usamos Windows 2008, pensé que sería bueno aprovechar el Windows Process Activation Service (WAS), aunque la sensación en el proyecto parece ser que usar Windows Services sería mejor.

¿Cuál es la ventaja de usar WAS para alojar servicios de WCF en comparación con un servicio de Windows? ¿Hay alguna ventaja real con el uso de los servicios de Windows o WAS es el camino a seguir?

Respuesta

11

Recientemente tuve que responder a la pregunta muy similar y estas son las razones por las que decidí utilizar IIS 7.0 y fue lugar de la infraestructura de servicios de Windows.

  1. IIS 7.0 es un host mucho más robusto y viene con numerosas características que facilitan la depuración. Falló el seguimiento de solicitudes, el proceso de reciclaje de trabajadores, el proceso de orfandad, por nombrar algunos.
  2. IIS 7.0 le ofrece más opciones para especificar lo que debería suceder con el proceso de trabajo en ciertas circunstancias.
  3. Si aloja su servicio en IIS, no tiene un proceso de trabajo asignado hasta la primera solicitud. Esto es algo que fue un comportamiento deseado desde mi punto de vista, pero podría ser diferente en su caso. El servicio de Windows le brinda la posibilidad de comenzar su servicio de una manera más determinista.
  4. Según mi experiencia, WAS no proporciona una mayor fiabilidad. Su mayor ventaja es que expone la riqueza de IIS a aplicaciones que usan protocolos diferentes a HTTP. Por diferente quiero decir: TCP, named pipes y MSMQ.
  5. La única desventaja de utilizar WAS que conozco es que la dirección a la que está expuesto su servicio debe cumplir con algún tipo de patrón. Cómo se ve en caso de MSMQ se describe here
+0

Buena información. ¿Y las desventajas? Según entiendo, el uso de WAS impide realizar enlaces TCP. ¿Es esto cierto? –

+0

No exactamente. WAS le permite usar enlaces TCP, mientras que las versiones IIS anteriores a 7 solo admiten enlaces HTTP. – JoshL

+0

Re punto 3 en el servidor win2k8 puede especificar un autoencendido de la aplicación. Tenga en cuenta también que tiene los beneficios de AppFabric, con beneficios adicionales para WF, lo que permite una configuración sencilla de regulación, registro, etc. Otra ventaja principal es la fácil implementación. Puede usar el despliegue remoto de IIS y vincularlo a su proceso de compilación para actualizar automáticamente los servicios en todos los entornos. – Sentinel