Si es necesario ejecutar un proceso continuamente la mejor solución es un servicio de windows que se ejecute cada cierto tiempo.
Para crear esto debemos irnos a crear un nuevo proyecto:
Una vez hemos creado el proyecto procedemos a incluir un componente tipo “eventlog” que nos permitirá registrar los eventos que el servicio ejecute.
Damos “double click” para ver el código y en antes de cualquier funcion
Private oTimer As System.Threading.Timer
En el “OnStart” incluimos lo siguiente:
Dim oCallback As New TimerCallback(AddressOf nombre_funcion)
oTimer = New System.Threading.Timer(oCallback, Nothing, 60000, 60000)
EventLog1.WriteEntry(“In OnStart”)
El 60000 representa que el timer se ejecutará cada minuto.
Creamos la siguiente función de inicialización
Public Sub New()
MyBase.New()
InitializeComponent()
EventLog1.Source = “Nombre del Servicio”
EventLog1.Log = “”
End Sub
En la vista “Design” le damos boton derecho y seleccionamos “Add Installer”
Una vez creado selecciona el Serviceinstaller1 y en propiedades cambia el nombre y display name por los que quieres que se vean en el listado de servicios.
En servicesprocessinstaller1 cambia account a Localsystem.
Una vez hecho esto le damos “build” y creamos el ejecutable
INSTALANDO EL SERVICIO
Para instalar el servicio debes usar el installUtil del Framework el cual puedes encontrar en windows\microsoft.net\framework\version utilizada
El comando que debes utilizar es installUtil “ruta del ejecutable”
Una vez completado solo inicia el sevicio en el área administrativa del panel de control


Leave a comment