none
Dienst auf Server starten (Fehler 1053: Dienst antwortet nicht rechtzeitig) RRS feed

  • Frage

  • Hallo,

    mein Kollege hat einen Dienst entwickelt, der Dateien in einem Ordner auslesen soll, sobald neue Dateien hinzukommen. Auf dem lokalen Rechner läuft er ohne Probleme. Auf dem Server kann er jedoch nicht gestartet werden.

    Der Dienst <var>Name des Windows-Dienstes</var> auf <var>lokaler Computer</var> konnte nicht gestartet werden.
    Fehler 1053: Der Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung.

    Ich habe zuerst an Ordner-Freigaben gedacht. Die scheinen aber korrekt zu sein. Es handelt sich um einen Windows Server 2008 R2 und .Net Framework 4.0.

    Beste Grüße,

    Christian


    Freitag, 23. September 2011 12:02

Antworten

  • Hallo Christian,

    das könnte mehrere Ursachen haben.

    Erstens würde ich empfehlen, den Konstruktor des Dienstes zu überprüfen: wie unter [1] beschrieben, sollte sich die Initialisierungslogik nicht im Konstruktor befinden, sondern in der OnStart-Methode.

    Bitte überprüft, ob der Dienst tatsächlich mit dem Benutzer gestartet wird, für welchen der Ordner freigegeben ist.

    Wenn das nicht hilft, dann würde ich im Code vom Konstruktor und von OnStart try-catch-Blöcke hinzufügen und im catch-Block die Nachricht der Exception ins Event Log hinzufügen:

    try 
    { 
        // All your initialization code goes here. 
    } 
    catch (Exception ex) 
    { 
        EventLog.WriteEntry("Application", ex.ToString(), EventLogEntryType.Error); 
    } 
    
    

    Mehr zur EventLog-Klasse findest Du unter [2].

    Remote Debugging wäre auch eine Möglichkeit, allerdings erfordert sie administrativen Aufwand (s. [3]).

    [1] http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.onstart(VS.85).aspx
    [2] http://msdn.microsoft.com/de-de/library/system.diagnostics.eventlog.aspx
    [3] http://msdn.microsoft.com/en-us/library/bt727f1t.aspx

    Hoffentlich hilft das weiter.

    Viele Grüße
    Filip

    MSDN Hotline http://msdn-online.de/hotline | Feedback http://www.msdn-online.de/dialog/ | Messenger MSDN-Messenger-Hotline@hotmail.de

    Montag, 26. September 2011 15:31

Alle Antworten

  • Hallo Christian,

    das könnte mehrere Ursachen haben.

    Erstens würde ich empfehlen, den Konstruktor des Dienstes zu überprüfen: wie unter [1] beschrieben, sollte sich die Initialisierungslogik nicht im Konstruktor befinden, sondern in der OnStart-Methode.

    Bitte überprüft, ob der Dienst tatsächlich mit dem Benutzer gestartet wird, für welchen der Ordner freigegeben ist.

    Wenn das nicht hilft, dann würde ich im Code vom Konstruktor und von OnStart try-catch-Blöcke hinzufügen und im catch-Block die Nachricht der Exception ins Event Log hinzufügen:

    try 
    { 
        // All your initialization code goes here. 
    } 
    catch (Exception ex) 
    { 
        EventLog.WriteEntry("Application", ex.ToString(), EventLogEntryType.Error); 
    } 
    
    

    Mehr zur EventLog-Klasse findest Du unter [2].

    Remote Debugging wäre auch eine Möglichkeit, allerdings erfordert sie administrativen Aufwand (s. [3]).

    [1] http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicebase.onstart(VS.85).aspx
    [2] http://msdn.microsoft.com/de-de/library/system.diagnostics.eventlog.aspx
    [3] http://msdn.microsoft.com/en-us/library/bt727f1t.aspx

    Hoffentlich hilft das weiter.

    Viele Grüße
    Filip

    MSDN Hotline http://msdn-online.de/hotline | Feedback http://www.msdn-online.de/dialog/ | Messenger MSDN-Messenger-Hotline@hotmail.de

    Montag, 26. September 2011 15:31
  • Hallo Filip,

    der Hinweis war mehr als hilfreich. Wir haben die Try-Catch-Anweisung hinzugefügt und eine Null-Reference-Exception abgefangen, weil eine Variable nicht initialisiert war. Seltsam, dass der Dienst lokal funktioniert hat.

    Vielen Dank!

    Christian 

     


    VS 2010, ASP.NET 4.0, MS SQL Server 2005
    Dienstag, 27. September 2011 09:55