2011-07-05 22 views
11

Estoy escribiendo un servicio/demonio portátil utilizando .NET 3.5, mi servicio de Windows se está ejecutando, pero me preguntaba sobre el puerto mono ...servicio .NET a Linux Daemon

Mono-servicio es lo que soy buscando si entiendo correctamente ¿Cómo funciona esto exactamente? Supongo que necesito un código mono compatible a través de mi servicio, ¿verdad? Por ejemplo, estoy usando SQLite. ¿Es cierto que con el fin de utilizar esto con mono debería refactorizar mi código para utilizar espacios de nombres mono etc, como Mono.Data.SQLite? ¿Puedo seguir usando Settings.settings?

Además, he leído que los demonios no implementan métodos onStart/parada, por lo que necesito para cambiar mi código para ejecutarse en mono/Linux? es decir, ¿está bien tener estos métodos en mi código y aceptar ejecutar ServiceBase.Run()? ¿El Mono-servicio acomoda estos?

Respuesta

11

Debe crear sus programas desde el principio para su uso con Windows y Linux.

Usted necesita Visual Studio con Mono Tools o la libre MonoDevelop IDE para crear un mono-aplicación. MonoDevelop puede importar su proyecto de Visual Studio. Este IDE te ayuda a obtener los espacios de nombres correctos.

Uso Mono-servicio para ejecutar su Asamblea como demonio. Los demonios de Linux están usando señales para comunicarse con el sistema. Por favor, lea the documentation.

ya que teníamos una pregunta similar, por lo please read this a ver, cómo procesar señales Unix.

+0

Saludos, muy informativo. ¿Podría decirme si la comunicación con una GUI a través de WCF funcionará en monouservicio? Una de las respuestas en esa pregunta sugiere que IPC no es posible en el caso del mono-servicio, ¿sigue siendo así? También, si usted sabe de ningún recurso para aprender a escribir un script de inicio que sería grande, no tengo idea de por dónde empezar con ellos, google ejemplos no eran tan detallado. – marked