Ich habe meinen Windows-Dienst (mit unabhängig installer class und SC.EXE) bereitgestellt, aber ich bekomme einen Fehler, wenn ich versuche, es zu starten:
%Vor%Was ist die Zeitüberschreitung? Es fühlte sich an wie 3 Sekunden. Was muss ich tun, wenn mein Service länger dauert?
Die normale Methode zum Erstellen eines Dienstes besteht darin, dass der Startcode einen neuen Thread erstellt und den Dienst in diesem Thread ausführt.
Der Service-Start sollte fast augenblicklich sein - nichts weiter als einen neuen Thread mit Ihrer "echten" Arbeit hervorzubringen.
Wenn Sie mehr als drei Sekunden benötigen, ist dies ein Zeichen dafür, dass Sie die eigentliche Arbeit in Ihrem Hauptthread erledigen und keinen eigenen für Ihren Dienst erstellen.
In Bezug auf die spezifische Frage variiert das genaue Timeout, ist aber weniger als 30 Sekunden. Sie können das Standard-Start-Timeout für einen Dienst über einen Registrierungsschlüssel steuern. Sie können hier hier nachsehen.
Allerdings stimme ich vielen anderen zu, dass ich mir zwei mögliche Optionen ansehen würde.
Auch wenn Sie den Dienst in verschiedenen physischen Umgebungen getestet haben und es scheint, dass das Problem nicht die normale Startzeit, sondern die Leistung der PCs ist. Sie können das Zeitlimit für den Registrierungsschlüssel für den bestimmten PC erhöhen.
Siehe: Ссылка
Grüße
Tags und Links .net c# windows-services timeout