Fórum Interromper serviço #371122

09/06/2009

0

Olá.

Criei um serviço para rodar em Windows que fica verificando de tempos em tempos determinada condição. Quando essa condição for falsa preciso que o serviço seja parado. Porém, quando falamos em um programa que roda como serviço do Windows, o processo de parada é diferente que num programa application.

DÚVIDA: Como faço para parar o serviço quando este serviço entrar em determinada condição? Como faço para que o próprio serviço ´diga´ ao Windows para interromper sua execução (do serviço)?

vlw


Rtava

Rtava

Responder

Posts

09/06/2009

Pestana_

chame o método servico.DoStop é isso que você queria saber?


Responder

Gostei + 0

09/06/2009

Rtava

Pestana,
Não sei o é isso que você comentou.
O caso é que criei um serviço para o Windows e preciso que serviço seja interrompido caso ocorra uma determinada situação que vou impor. Não sei como fazer isso usando o próprio serviço, ou seja, fazendo com que ele mesmo se interrompa (na lista de serviços do Windows o serviço deixará de aparecer como ´Iniciado´).

vlw


Responder

Gostei + 0

10/06/2009

.lg.

so 1 dúvida, acho que em questão de lógica...

Como, ou, o que vai retornar o serviço se o ´próprio´ serviço se interromper? Ou vai ter um serviço de auxílio para reiniciar o seu serviço que se interrompeu!?

Fiquei na dúvida.
Tem como você me explicar como vc planejou essa lógica?

.lg.


Responder

Gostei + 0

10/06/2009

Rtava

Lg, se você tem um programa do tipo Application, como você faz para interrompê-lo? Você pode por exemplo, colocar um botão na tela e no código do botão escrever ´close;´, correto? Ou seja, me corrija se eu estiver errado, mas este ´close´ não é uma ação do próprio programa que faz com que ele mesmo se feche? Só que num programa do tipo ´serviço´, o ´close´ não é aplicável, pois programas que rodam como serviços não fecham com ´close´.

Então minha dúvida é: Como faço para fechar um serviço?


Responder

Gostei + 0

10/06/2009

Pestana_

foi você que criou este serviço? caso sim, então chame o método [b:a1eab086bb]DoStop[/b:a1eab086bb] (servico.DoStop).


Responder

Gostei + 0

10/06/2009

.lg.

Te respondendo... Para finalizar a aplicação... eu uso o [b:34ed9acd80]Application.Terminate[/b:34ed9acd80].

Para o serviço... o pestana já respondeu:
foi você que criou este serviço? caso sim, então chame o método [b:34ed9acd80]DoStop[/b:34ed9acd80] (servico.DoStop).

Acho que imaginei algo meio doido aqui... Penso que por exemplo... o sqlServer... a aplicação está sempre rodando mas o serviço depende. Então pensei besteira em dizer que se finalizar o serviço eu achei que finalizaria a aplicação tambem. :roll:
lol.

Abraços,
.lg.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar