Probleme beim Service start

Black_Deal

Mitglied
Hallo

Ich habe mir jetzt einen Service zusammengebaut der so weit auch fertig ist. Aber ich habe da noch so eine Problem beim starten des Services.
Wenn ich den starten will, dann schreit er, dass der Service nicht gestartet werden kann, weil es keine Arbeit zu verrichten gibt. Das ist mir jetzt im nachhinein auch schon klar weil ich keine ahnung habe was oder wo die startmethode ist.
Also, kann mir einer verraten, was oder wo die startmethode ist?

mfg
 
Ja ok, das habe ich mir schon fast gedacht.
Aber was muss in der Methode drinnenstehen? Mit einen Methodenaufruf klappt das ganze nicht. Und in der MSDN steht noch...
...Behandeln Sie mit OnStart die gesamte Initialisierung des Dienstes...

Was mus ich da noch alles reinschreiben, damit das ganze funktioniert?

Villeicht so was wie...
Code:
this.CanStop = true;
this.CanShutdown = false;
this.CanPauseAndContinue = false;
this.CanHandlePowerEvent = false;
this.AutoLog = true;

Aber das steht ja schon im Propartie Fenster.
oder

Code:
processInstaller.Account = ServiceAccount.LocalSystem;
serviceInstaller1.StartType = ServiceStartMode.Automatic;
serviceInstaller1.ServiceName = "mein Service";

Aber das steht schon in der Installer Class.

Ich habe da wirklich keine ahnung was ich für eine Initialisierung rein schreiben muss.

Ich hoffe ihr könnt mir da helfen.

mfg
 
Ich habe jetz auch schon einige gut beschreibungen im Netz gefunden.
Aber ich komme einfach nicht dazu das mein Service was macht. Er startet ja wol schon schön prav, aber er fängt einfach nicht zu arbeiten an.

Ich vermute mal, das er nicht mal in die onStart Methode rein geht. Denn ich habe ein EventLog erstellt und lasse bei der onStart Methode was reinschreiben. Im EventLog steht aber nichts drinn.

Muss man da in Konstruktor noch was rumpasteln oder...

Ich bin mittlerweile schon ziemlich rahtlos.
 
Ok, ich habe jetzt das Problem so halb gelöst.

Ich habe jetzt einen neuen Thread erstellt und in dem einen Metode aufgerufen.
So ungefähr:

Code:
protected override void OnStart(string[] args)
{
	ThreadStart ts = new ThreadStart( this.Meine_Methode );

	m_thread = new Thread( ts );

	m_thread.Priority = ThreadPriority.AboveNormal;

	m_thread.Start();

	base.OnStart( args );
}

Nur gibt es jetzt noch ein Problem damit.
In der aufgerufenen Methode rufe ich noch eine Mothode auf. Das machte er aber nicht mehr.
Ich bin auf das draufgekommen weil ich in jeder Methode in die er reingehen sollte einen eintrag in ein Logfile machen sollte. Er macht es aber nur bei der eben vom Thread aufgerufenen Methode.
Muss ich da immer wenn ich eine Methode aufrufen will einen neuen Thread erstellen?
 
Zurück