Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Problema con l'avviamento di un Windows Service
Forum - C# / VB.NET - Problema con l'avviamento di un Windows Service

Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 21:35
Lunedì, 28/12/2015
Sono riuscito ad aggiungere programma di installazione del servizio tramite Visual Studio e poi ad installarlo utilizzando il prompt dei comandi mediante il programma InstallUtil.exe presente nella cartella C:\Windows\Microsoft.NET\Framework\v4.0.30319
Fatto questo ho aperto la Microsoft Management Console e ho tentato l'avvio ed è uscita fuori questa MsgBox
"Il servizio 'Servizio di prova' su Computer locale si è avviato, quindi si è arrestato. Alcuni servizi si arrestano automaticamente se non sono utilizzati da altri servizi o programmi."

Ho provato ad impostare le seguenti proprietà al servizio ma nulla da fare... perché?
Codice sorgente - presumibilmente C# / VB.NET

  1. Me.CanPauseAndContinue = True
  2. Me.CanShutdown = True
  3. Me.CanStop = False



Ad ogni modo il sorgente del servizio è piuttosto semplice
Codice sorgente - presumibilmente VB.NET

  1. Public Class ProvaServizio
  2.  
  3.     Protected Overrides Sub OnStart(ByVal args() As String)
  4.         MsgBox("Il servizio è entrato in funzione", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)
  5.     End Sub
  6.  
  7.     Protected Overrides Sub OnStop()
  8.         MsgBox("Il servizio è stato arrestato", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)
  9.     End Sub
  10. End Class



Inoltre ho impostato
StartType = Manual
Account = LocalSystem

Togliendo le MessageBox e lasciando il codice come segue però "tutto" funziona, perché?
Codice sorgente - presumibilmente VB.NET

  1. Public Class ProvaServizio
  2.  
  3.     Protected Overrides Sub OnStart(ByVal args() As String)
  4.         'MsgBox("Il servizio è entrato in funzione", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)
  5.     End Sub
  6.  
  7.     Protected Overrides Sub OnStop()
  8.         'MsgBox("Il servizio è stato arrestato", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)
  9.     End Sub
  10. End Class


Ultima modifica effettuata da Henry 128 il 28/12/2015 alle 21:39
PM Quote
Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 21:38
Lunedì, 28/12/2015
grazie in anticipo per l'aiuto :)

Ultima modifica effettuata da Henry 128 il 28/12/2015 alle 21:40
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 8:58
Martedì, 29/12/2015
Un servizio non è un programma con una interfaccia visiva quindi le messagebox non banno senso


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Henry 128 (Member)
Pro


Messaggi: 61
Iscritto: 20/03/2008

Segnala al moderatore
Postato alle 21:23
Martedì, 29/12/2015
Il fatto è che a me non serve fare un form.. cioè vorrei fare un servizio che coglie quando sono state apportate delle modifiche ad una cartella e nel caso, mi avvisasse tramite MessageBox. Non ha senso?
Comunque al di là della MsgBox ho provato anche immettendo una funzione che mi salva un file txt nel desktop... e non va lo stesso..

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 23:05
Martedì, 29/12/2015
No un servizio non è fatto per interagire con form o messaggi.

Se il file non viene scritto bisogna capire come mai. Devi mostrare il codice.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote