OnStart Nicht in .NET 1.1 Windows-Dienst aufgerufen
Frage
Ich habe einen .NET Framework 1.1 Windows-Dienst, der auf einem Server funktioniert, aber auf einem anderen der OnStart-Methode wird nicht aufgerufen werden. Ich habe eine Trace-Anweisung als erste Zeile in der OnStart überschreibt und es wird nicht ausgeführt werden. Keine Ausnahme geworfen werden und die Windows Service Control Manager denken, dass der Dienst korrekt gestartet wird.
Wer eine Idee, was die OnStart Methode halten konnte aus aufgerufen wird?
Edit:. Hier ist die .config Einstellungen für Trace-Ausgabe
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="LogFileWriter" type="System.Diagnostics.TextWriterTraceListener,System"
initializeData="c:\interface.log" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
Lösung 3
Dies endete, die den Konstruktor für die Dienstinstanz verhinderten ausgeführt wird.
Andere Tipps
Wenn Sie Ihre Spur zu einem EventLogTrace Zuhörer Schreiben möglich ist es, dass das Dienstkonto auf der zweiten Maschine nicht genügend Rechte hat das Ereignisprotokoll zugreifen. Siehe meine Antwort auf diese Frage:
Windows-Dienst läuft, aber Ereignisprotokolle nicht funktioniert
Was andere Aktivitäten in dem OnStart Ereignisse auftreten, die das Ereignis vorschlagen wird nicht ausgelöst?
Wenn OnInit aufgerufen wird, dann überschreiben sie und stellen Sie den Handler selbst
protected override void OnInit(EventArgs e) {
this.Start += new System.EventHandler(OnStart);
base.OnInit(e);
}
Wenn OnInit nicht aufgerufen wird, das Hinzufügen AutoEventWireup = "true" auf <% @ Page Abschnitt helfen könnte.