tutorial programar net framework español c# .net linux .net-2.0 mono

c# - programar - mono.net download



¿Cómo migrar una aplicación de servicio.NET Windows a Linux usando mono? (3)

La forma en que lo hice en el pasado es compilar la aplicación .Net como una aplicación de consola y luego en el servidor Linux crear una secuencia de comandos de inicio en el directorio initscripts.

Linux obviamente no tiene servicios de Windows y los daemons que se inician desde los directorios de rc.d al inicio son equivalentes. La mayoría de los scripts de rc.d lo hacen es iniciar las diferentes aplicaciones en un hilo de fondo por lo que no hay nada realmente complicado. El único trabajo extra es que tendrá que escribir un script de shell de Linux para comenzar y si quiere detener el servicio.

¿Cuál sería el mejor enfoque para migrar un servicio .NET Windows a Linux usando mono? He intentado evitar ejecutar la aplicación como un comando programado.

¿Es posible obtener un comportamiento similar a un daemon de servicio / sistema (en linux)?


En Linux, los demonios son procesos de fondo simples. No se usan métodos de control especiales (por ejemplo, start() , stop() ) como en Windows. Cree su servicio como una aplicación simple (consola) y ejecútelo en segundo plano. Use una herramienta como daemonize para ejecutar un programa como un daemon Unix, y recuerde especificar mono como el programa que se activará.

Como señalaron otros, el servicio monousuario es un host para ejecutar servicios construidos con el ensamblado ServiceProcess . Los servicios creados para Windows pueden usar este método para ejecutarse sin modificaciones bajo Linux. Puede controlar el servicio enviando señales al proceso (consulte la página de manual).