Para iniciar, no
seu projeto Windows Services, importe a referência das classe Timers:
using System.Timers;
Agora em sua
classe Inicialize o objeto Timer, isso se você estiver fazendo de forma
dinâmica,se você escolheu adicionar o objeto direto do toolbox pule este passo.
namespace WindowsService3
{
public partial
class TimeSrv : ServiceBase
{
//Inicializando
o objeto timer
Timer timer = new Timer();
Como estamos
falando de Windows Service, agora em nosso evento de inicialização do serviço
(OnStart), o qual é executado sempre que o serviço é iniciado vamos habilitar o
timer e definir um timer para sua execução.
protected
override void OnStart(string[] args)
{
//Escreve
no Visualizador de Evento do Windows
EventLog.WriteEntry(“Serviço
Inicializado.”, EventLogEntryType.Information);
//1:
Adicionando o evento Elapsed ao objeto Timer
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
//2: Marcando o como
intervalo 1 minuto (= 60,000 milliseconds)
timer.Interval
= 60000;
//3:
Habilitando o objeto timer para execução.
timer.Enabled
= true;
}
Sendo que definimos um evento Elapsed ao objeto timer chamado OnElapsedTime,
temos que ter o método criado, nele teremos o código que será executado assim
que o timer for habilitado, claro tudo isso dentro do intervalo definido acima.
Em nosso exemplo eu apenas escrevo a data no Visualizador de Eventos do
Windows, mas lembrando que o código ali executado fica a critério do
desenvolvedor.
private void OnElapsedTime(object source,
ElapsedEventArgs e)
{
EventLog.WriteEntry(“Executando serviço: ” +
DateTime.Now.ToShortTimeString(),EventLogEntryType.Information);
}
Agora para fecharmos mais esta dica basta usar o evento OnStop do seu serviço,
evento que é executado quando seu Windows Services é parado, para desabilitar o
timer.
protected
override void OnStop()
{
timer.Enabled = false;
EventLog.WriteEntry(“Serviço Parado.”,EventLogEntryType.Information);
}