Ich habe unter topshelf eine Handvoll von Konsolenanwendungen als Dienste installiert ausgeführt wird, und wenn ich installieren und manuell ausführen, sie funktionieren gut. Sie werden jedoch nicht automatisch gestartet, obwohl der Starttyp auf Automatisch eingestellt ist.Automatische Dienste nicht starten
Die Apps sind wie folgt konfiguriert:
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));
});
Die Apps unter Win 2008 R2 laufen und sie werden unter Verwendung einer Batch-Datei als Administrator ausgeführt installiert. Die Stapeldatei enthält Folgendes:
app.exe install --sudo
app.exe start
Nach dem Ausführen der Batch-Datei die Dienste wie erwartet ausgeführt. Wenn ich jedoch neu starte, bleiben sie gestoppt.
Das Ereignisprotokoll gibt das gleiche Paar der Ereignisse für jeden Dienst:
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.
Nur so kann die Anwendung nach einem Neustart zu beginnen ist app.exe start
von einer Eingabeaufforderung auszuführen.
Irgendwelche Ideen?
Sie haben mich gerade gerettet 100 Jahre Graben im Müll von Informationen :) – alerya