Sto scrivendo un servizio Windows in .net 2.0.Come interrompere un servizio con il metodo OnStart?
Cosa devo fare nel metodo OnStart()
se per qualche motivo non desidero avviare il servizio? Posso semplicemente chiamare il metodo Stop()
della classe base (ServiceBase
)? L'ho provato e sto ottenendo alcune eccezioni di accesso alla memoria divertenti. È necessario avviare una discussione separata per chiamare il metodo Stop()
?
In effetti, se si genera un'eccezione, il servizio non verrà avviato. I servizi di Windows gestiscono tutto ciò per te. – Noldorin
Ci sono molti motivi per cui uno potrebbe non voler avviare un servizio! Quindi forse non stai davvero chiedendo il perché, ma piuttosto suggerire la risposta è gettare un'eccezione? Che ne dici di impostare ServiceBase.ExitCode - è consigliabile/necessario? – Rory
@Rory: non riuscire ad avviare un servizio è una cosa diversa dall'avvio e dall'arresto immediato. Sono contrario a partire con successo e in silenzio fermandosi. ExitCode verrà registrato nel registro eventi in modo da poter prendere in considerazione l'impostazione. Non è richiesto però. –