Ho una manciata di app console installate come servizi in esecuzione in topshelf e se installo ed eseguo manualmente funzionano perfettamente. Tuttavia, nessuno si avvia automaticamente anche se il tipo di avvio è impostato su Automatico.I servizi automatici non si avviano
Le applicazioni sono configurati come segue:
HostFactory.Run(x =>
{
x.Service<MyApp>(s =>
{
s.ConstructUsing(name => container.Resolve<MyApp>());
s.WhenStarted(tc => tc.Start());
s.WhenStopped(tc =>
{
tc.Stop();
container.Dispose();
});
});
x.RunAsLocalSystem();
x.StartAutomatically();
x.EnableServiceRecovery(rc => rc.RestartService(5));
});
Le applicazioni eseguite sotto Win 2008 R2 e vengono installati utilizzando un file batch eseguito come Admin. Il file batch include quanto segue:
app.exe install --sudo
app.exe start
Dopo l'esecuzione del file batch, i servizi vengono eseguiti come previsto. Tuttavia se riavvio rimangono fermi.
Il registro eventi restituisce lo stesso paio di eventi per ogni servizio:
Event 7000: The service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion.
Event 7009: A timeout was reached (30000 milliseconds) while waiting for the service to connect.
L'unico modo per avviare l'applicazione dopo un riavvio è quello di eseguire app.exe start
da un prompt dei comandi con privilegi elevati.
Qualche idea?
Mi hai appena salvato 100 anni di scavare nella spazzatura di informazioni :) – alerya