TRANSFORMAR APLICACAO EM SERVICO
Boa tarde.
Prezados,
Estou eu aqui novamente solicitando a ajuda dos senhores. Consegui concluir uma aplicação, que inclusive tive a ajuda aqui do fórum e agora está funcionando de forma perfeita. Depois de concluir essa aplicação comecei a simular as possibilidades. A minha aplicação faz uma leitura de uma serial que vem de uma controladora de acesso, e escreve esses dados em um banco SQL. Depois de concluir testar e aprovar pensei na seguinte possibilidade:
E se a maquina travar e reiniciar? E se ninguem logar e executar o programa eu perderei os dados até que alguem faça o login, pois eu havia colocado a aplicação no iniciar. Li a respeito que se eu alterar a aplicação eu consigo colocar a aplicação como um serviço do windows, assim independente de login quando o computador reiniciar a aplicação volta a ser executada independente de login.
Alguem pode me ajudar a transformar minha aplicação em uma aplicação que funcione como serviço? Um forte abraço.
Rogério Azevedo
Prezados,
Estou eu aqui novamente solicitando a ajuda dos senhores. Consegui concluir uma aplicação, que inclusive tive a ajuda aqui do fórum e agora está funcionando de forma perfeita. Depois de concluir essa aplicação comecei a simular as possibilidades. A minha aplicação faz uma leitura de uma serial que vem de uma controladora de acesso, e escreve esses dados em um banco SQL. Depois de concluir testar e aprovar pensei na seguinte possibilidade:
E se a maquina travar e reiniciar? E se ninguem logar e executar o programa eu perderei os dados até que alguem faça o login, pois eu havia colocado a aplicação no iniciar. Li a respeito que se eu alterar a aplicação eu consigo colocar a aplicação como um serviço do windows, assim independente de login quando o computador reiniciar a aplicação volta a ser executada independente de login.
Alguem pode me ajudar a transformar minha aplicação em uma aplicação que funcione como serviço? Um forte abraço.
Rogério Azevedo
Veja se isso te atende:
http://www.macoratti.net/vbn5_csw.htm
vlw
http://www.macoratti.net/vbn5_csw.htm
vlw
Então, eu até comecei a vasculhar, mas não entendi muito bem como funciona. Eu simplesmente coloco os meus códigos no START? o que faço com o STOP nada?
Public Class Service1
Protected Overrides Sub OnStart(ByVal args() As String)
[ô] Add code here to start your service. This method should set things
[ô] in motion so your service can do its work.
End Sub
Protected Overrides Sub OnStop()
[ô] Add code here to perform any tear-down necessary to stop your service.
End Sub
[/b]End Class
Public Class Service1
Protected Overrides Sub OnStart(ByVal args() As String)
[ô] Add code here to start your service. This method should set things
[ô] in motion so your service can do its work.
End Sub
Protected Overrides Sub OnStop()
[ô] Add code here to perform any tear-down necessary to stop your service.
End Sub
[/b]End Class
Segui o tutorial e até consegui criar um serviço, agora precisa saber como vincular a minha aplicação nesse serviço, alguem poderia me ajudar?
Eu acho que você vai ter que criar essa camada de Serviço dentro da sua aplicação e utilizar o codigo de seu sistema dentro do OnStart para fazer o que pretende.
Nesse exemplo abaixo, ele está verificando um arquivo em disco:
Protected Overrides Sub OnStart(ByVal args() As String)
Try
arquivoWS = New StreamWriter([Ô]c:\demoWSEventos.log[Ô], True)
arquivoWS.WriteLine([Ô]Serviço iniciado em [Ô] & DateTime.Now)
arquivoWS.Flush()
Catch ex As Exception
End Try
End Sub
No teu caso, tu poderia criar um loop e implementar as regras que deseja. Assim, ele ficaria sempre rodando.
vlw
Nesse exemplo abaixo, ele está verificando um arquivo em disco:
Protected Overrides Sub OnStart(ByVal args() As String)
Try
arquivoWS = New StreamWriter([Ô]c:\demoWSEventos.log[Ô], True)
arquivoWS.WriteLine([Ô]Serviço iniciado em [Ô] & DateTime.Now)
arquivoWS.Flush()
Catch ex As Exception
End Try
End Sub
No teu caso, tu poderia criar um loop e implementar as regras que deseja. Assim, ele ficaria sempre rodando.
vlw
Não há como eu criar um serviço para chamar a aplicação?
Sim. Gere o executável do seu sistema e passe o caminho dentro de
Protected Overrides Sub OnStart(ByVal args() As String)
Shell([Ô]C:\SeuSistema.Exe[Ô])
End sub
vlw
Protected Overrides Sub OnStart(ByVal args() As String)
Shell([Ô]C:\SeuSistema.Exe[Ô])
End sub
vlw
Somente isso e a aplicação vai começar logo que o computador ligar? Em stop preciso colocar algo?
Depois que seu serviço iniciar, ele irá ativar o seu sistema.
No stop tu pode parar o serviço. (Não precisa colocar nada la para o seu caso).
vlw
No stop tu pode parar o serviço. (Não precisa colocar nada la para o seu caso).
vlw
Tópico encerrado , respostas não são mais permitidas