Ir al contenido


Foto

Crear Servicio de windows


  • Por favor identifícate para responder
27 respuestas en este tema

#21 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 23 junio 2010 - 04:32

Ahora mi pregunta... ¿Es posible añadir componentes de acceso a base de datos cuando la aplicación es un servicio? No lo he probado, pero me asalta la duda.  ^o|

Saludos,

Bueno, me respondo a mi mismo... y me tapo la boca  :lipsrsealed:

Acabo de probar y si. Si se puede "insertar" componentes de base de datos. Pensaba que no se generaba ninguna pantalla y era todo algo parecido a cuando se realiza una aplicación consola.  :p
Es algo parecido a un DataModule, se puede poner todo control que no sea visual.

Ahora... ¿y lo otro?  ;)

Saludos,
  • 0

#22 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 23 junio 2010 - 05:05

Hola,
No estoy muy puesto en lo que es Servicios y en los distintos niveles de acceso que estos tienen.

Domingo, disculpa si vengo con un argumento filosófico: Para que el servicio pueda tirar contra la base de datos, el motor debe estar activo. En el caso de Firebird, cuyo motor se ejecuta como servicio, y si bien por lo general este se ejecuta como (si no me falla la memoria) SYSTEM y arranca ni bien se inicia el SO (o al menos eso tengo entendido  ^o| ), ¿Debería tener el servicio de Eliseo el mismo "nivel"? ¿Y si el servicio de Eliseo se levanta primero que el motor?  ;)
Además, dependiendo de como esté configurado el motor no siempre arrancará automáticamente, y es necesario reiniciarlo manualmente.

No se como será con otros motores de base de datos (y si es que hay que considerar este escenario).

Una posible alternativa es que el servicio de Eliseo, espere al servicio del motor (si estamos hablando de Firebird... repito... no se como serán los otros) o bien, para no estar perdiendo datos... que guarde un archivo temporal con los datos obtenidos al momento y en cuanto esté disponible el motor mandarlos.

Ahora mi pregunta... ¿Es posible añadir componentes de acceso a base de datos cuando la aplicación es un servicio? No lo he probado, pero me asalta la duda.  ^o|

Saludos,


Que tal Delphius, la verdad es que esa es otra de las cosas que que me "invitan" a crear un servicio para mi sistema, ya no tengo que usar el "truco" de Seaone para esperar a que el sevicio de Firebird arranque antes que mi programa (como actualmente lo estoy haciendo), solo agrego el servicio de FB en las dependencias de mi servicio ;)

Salud OS
  • 0

#23 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 23 junio 2010 - 05:07


Ahora mi pregunta... ¿Es posible añadir componentes de acceso a base de datos cuando la aplicación es un servicio? No lo he probado, pero me asalta la duda.  ^o|

Saludos,

Bueno, me respondo a mi mismo... y me tapo la boca  :lipsrsealed:

Acabo de probar y si. Si se puede "insertar" componentes de base de datos. Pensaba que no se generaba ninguna pantalla y era todo algo parecido a cuando se realiza una aplicación consola.  :p
Es algo parecido a un DataModule, se puede poner todo control que no sea visual.

Ahora... ¿y lo otro?  ;)

Saludos,


Lo otro es con lo que me estoy peleando "mentalmente" :D :D :D

Salud OS
  • 0

#24 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 23 junio 2010 - 05:49


Que tal Delphius, la verdad es que esa es otra de las cosas que que me "invitan" a crear un servicio para mi sistema, ya no tengo que usar el "truco" de Seaone para esperar a que el sevicio de Firebird arranque antes que mi programa (como actualmente lo estoy haciendo), solo agrego el servicio de FB en las dependencias de mi servicio ;)

Salud OS

Aquí viene mi preguntonta... ¿Y como se le hace? ¡Ando curioso!  :)  :p

Lo otro es con lo que me estoy peleando "mentalmente" :D :D :D

Salud OS

Que coincidencia amigo... hoy yo me he estado pelando mentalmente también (¿Cuando no lo estuve?  ^o| )... pero se me hace que esta vez salí perdiendo ¡que día de ***** que tuve!  :|

Bueno, a esperar a otro día y un nuevo reto mental  :| , y esta vez será doble... mañana toca sesión de ajuste (o desajuste, depende del caso) de tornillos.

Saludos,
  • 0

#25 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 23 junio 2010 - 06:01

Aquí viene mi preguntonta... ¿Y como se le hace? ¡Ando curioso!  :)  :p


Otra vez yo, respondiendome solo  :D (vaya que si me hace falta unos ajustes... ¡estoy hablando solo!) Ya ví como se hace... ¿Uuuu... y para que será la propiedad Dependencies? LOL  :p

Saludos,
  • 0

#26 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 23 junio 2010 - 07:03


Aquí viene mi preguntonta... ¿Y como se le hace? ¡Ando curioso!  :)  :p


Otra vez yo, respondiendome solo  :D (vaya que si me hace falta unos ajustes... ¡estoy hablando solo!) Ya ví como se hace... ¿Uuuu... y para que será la propiedad Dependencies? LOL  :p

Saludos,


:D :D :D, Hoy estas gracioso (divertido) amigo :)

Salud OS
  • 0

#27 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 27 junio 2010 - 03:58

Aunque con el nuevo planteamiento ya no hace falta puede que esta informacion le sea de utilidad a alguien:

How to start a GUI process from service, under Windows Vista/7
  • 0

#28 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 27 junio 2010 - 04:21

Muy buen artículo amigo seoane, incluso el debate se puso bueno :)

Me quedo con este comentario.

Interesting technical issue.

Since you already have a special purpose Widows service running on the PC under a SYSTEM account, would it make sense for this service to perform the synchronization? The GUI app can still be auto-started and communicate with the service to show the service’s progress through IPC.

It would require fewer hoops, is less susceptible to a “fix” in a Windows update and less likely that someone can rename any arbitrary application to the name of your GUI and have it execute as a SYSTEM user on any of these machines.

Just a thought.


Salud OS
  • 0




IP.Board spam blocked by CleanTalk.