Autor Beitrag
Vermillion
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 24.08.10 10:32 
Hi,

Ich habe einen Windows Service erstellt. (ist ja im Visual Studio nicht besonders schwer...) Jetzt möchte ich, dass er etwas bestimmtes tut sobald ein Event mit einer bestimmten ID in den Windows Event Log geschrieben wird. Ich benutze dafür den Eventlog Baustein aus der Toolbox. Sobald ich den Service dann kompiliere und starten will kommt nach ~10 Sekunden die Meldung der Service lässt sich wegen einem Timeout nicht starten. Hier der Code:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
    public partial class Service1 : ServiceBase
    {

        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            
        }

        protected override void OnStop()
        {
        }

        private void eventLog1_EntryWritten(object sender, EntryWrittenEventArgs e)
        {
            if (e.Entry.EventID.ToString() == "2000")
            {
               //Mach was
            }
        }
}


Weiss jemand was ich falsch mache? Ich habe keine Ahnung von Windows Services...
Necaremus
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 203
Erhaltene Danke: 18

Win > XP, Vista, 7; Android 2.1
C# > VS '08,'10; Delphi7
BeitragVerfasst: Di 24.08.10 15:32 
bevor du einen service starten kannst musst du ihn erst einmal installieren, das geht eigentlich recht einfach - man kann es sogar automatisch per code machen.
um das dann zu debuggen würd ich am besten nen Debugger.Break setzen, da du da sonst nicht rein kommst. (edit: man kommst sonst wohl rein, ist aber relativ umständlich, finde ich^^)
service installieren

falls du schon installiert hast: ein service muss innerhalb von ... ich glaub 30 sekunden (?) nach dem start antworten, sonst wird er von microsoft abgeschossen.
Vermillion Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 26.08.10 09:49 
Der Service ist installiert und ich kann ihn über die Systemverwaltung starten. Allerdings nur wenn der EventLog Code nicht drin ist. Ansonsten bekomme ich den Timeout. Und ich verstehe nicht wieso...