Laden...

Fehler 1053: Der Dienst antwortete nicht rechtzeitig auf die Start oder Steuerungsanforderung

Erstellt von schuppsl vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.861 Views
S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 5 Jahren
Fehler 1053: Der Dienst antwortete nicht rechtzeitig auf die Start oder Steuerungsanforderung

Hallo zusammen, ich bin mal wieder am Verzweifeln.

Ich habe schon viele stinknormale Windows-Dienste (.NEt 4.7.1) erstellt, aber der neue treibt mich in den Wahnsinn.
Ich binde eine DLL von einem Fremdhersteller ein (OPC) und rufe ein paar Funktionen auf.
sobald ich das mache, startet der Dienst nicht mehr.
Mach ich den Dienst wieder "nackig" geht's wieder.

Die DLL habe ich schon in einem anderen Dienst eingebunden, der funktioniert perfekt.
Seltsam ist auch, dass wenn ich irgendeine Funktion einbaue, auch wenn die gar nichts macht, dann geht es nicht mehr.

Das Problem wird nun sein, dass irgendwelche DLL Versionen nicht zueinander passen.
Nur wo sehe ich das?
Den Dienst kann ich lokal nicht debuggen, da dieser nicht einmal startet. (An den Prozess anhängen)

Im Ereignisprotokoll unter Windows-Anwendung steht nichts genaues drin.

Daher stelle ich mir die Frage:
Wo steht genau, das das Problem ist?

16.825 Beiträge seit 2008
vor 5 Jahren

Den Dienst kann ich lokal nicht debuggen, da dieser nicht einmal startet. (An den Prozess anhängen)

Dann ist er kacke programmiert 😉

Gestalte den Code so, dass sich der Service sowohl in einem Windows Dienst wie auch in einer Konsolenanwendung hosten lässt.
Dann lässt sich auch eine solche Anwendung wunderbar debuggen.
[Artikel] Drei-Schichten-Architektur

Sofern in diesem Fall möglich, geht das sehr einfach mit wenigen Zeilen Code via IHostedService.
Sample von mir: https://github.com/BenjaminAbt/Hangfire.ConsoleHost/blob/master/sample/Server/Program.cs

Ansonsten eben: [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 5 Jahren

IHostedService kenne ich, hatte ich auch schonmal programmiert.
Fakt ist jedoch, dass ich das Ganze in einer "normalen" Windows Anwendung programmiert hatte, die prima läuft.
Und in einem anderen Dienst dasselbe, läuft ebenfalls.
Es kann sich nur um eine nicht kompatible Version irgendeiner DLL handeln - nur wie finde ich das heraus ohne Protokoll?

16.825 Beiträge seit 2008
vor 5 Jahren

[Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden oder Dependency Walker.

Aber mit IHostedService kannste einfach den Debugger via VS nutzen - ohne ihn manuell an Process attachen zu müssen.
Macht das Leben leichter.

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 5 Jahren


>
oder Dependency Walker.

Vielen Dank.

Mein IHostedService hatte damals nach einiger Zeit (Monaten) irgendwelche komischen Sachen gemacht, deshalb bin ich wieder auf einen Service gegangen 😃