none
Dienst startet aber es wird keine Code ausgeführt RRS feed

  • Allgemeine Diskussion

  • Hi

    VS 2010, .NET 3.0

    Ich bin daran einen Dienst zu schreiben, leider wird dieser nur gestartet, aber er tut nichts.

    Deshalb habe ich gemäss Exemplarische Vorgehensweise: http://msdn.microsoft.com/de-de/library/zt39148a.aspx

    einen Dienst erstellt. Und zwar genau nach Anweisung.

    Der Dienst wird gemäss Eventlog gestartet (keine Fehlermeldung), aber er tut auch nichts.

    Das

    Protected Overrides Sub OnStart(ByVal args() As String )

    EventLog1.WriteEntry("In OnStart" )

    End Sub

    z.B. wird nicht ausgeführt.

    Wo liegt das Problem?

    Gruss und Dank Philippe

    Montag, 14. Februar 2011 11:38

Alle Antworten

  • Hallo Philippe,

     

    ich habe den angegebenen Link jetzt nicht verfolgt, aber hier schonmal 2 kleine Dinge die mir noch im Gedächtnis sind:

    Im OnStart sollte ein Timer gestartet werden, der die immer wiederkehrende Aufgabe ausführt.

    Du benötigt neben der Service-Klasse auch eine ServiceInstaller-Klasse.

     

    Gruß

    Björn

    Mittwoch, 16. Februar 2011 10:57
  • Detaillierter:

    Der Dienst muss die 'OnStart'-Methode binnen 3 Sekunden verlassen, sonst wird der Dienst als nicht antwortend angesehen. Aus diesem Grund startet man
    in 'OnStart' üblicherweise einen Thread, in dem blockierende Operationen wie z.B. Herstellen von Datenbankverbindungen durchgeführt werden.

    Dieser Startzeitwert ist übrigens über die Systemregistrierung ('ServicesPipeTimeout') änderbar (was wohl passiert, wenn man ihn versehentlich zu klein wählt? ;-)):

    How to debug Windows services
    http://support.microsoft.com/?scid=kb;EN-US;824344

    Beste Grüße,
    Herfried K. Wagner


    Herfried K. Wagner [MVP]
    Dienstag, 1. März 2011 21:41