mage
Erfahrenes Mitglied
Hallo,
ich implementiere gerade einen kleinen Windowsdienst. Im Dienst verwende ich das Timer objekt aus System.Timers. Dort sollen bestimmte Arbeiten ausgelöst werden.
Mein Problem ist das Standardmäßig das Timers_Elapsed Ereignis aus einem anderen Threadkontext aufgerufen wird. Die Abarbeitung soll im Hauptthread durchgeführt werden.
Ich würde also gern aus dem Timers_Elapsed Ereignis meinen Hauptthread benachrichtigen. Wie stellt man so etwas an?
Ich weiss das ich dem Timer ein Synchronisierungsobjekt zuweisen kann, in dessen Kontext die Ereignisbehandlung durchgeführt wird. Dazu müsste ich dann allerdings die ISynchronizeInvoke Schnittstelle implementieren, da ich ein eigenes Objekt habe welche die Schnittstelle nicht standardmässig besitzt. Leider weiss ich nicht wie das funktioniert, noch habe ich ein Beispiel dazugefunden.
Anmerkung - es geht hier nicht um Steuerelemente(Controls).
Ich hoffe es weiss jemand Rat oder gute Quellen
.
ich implementiere gerade einen kleinen Windowsdienst. Im Dienst verwende ich das Timer objekt aus System.Timers. Dort sollen bestimmte Arbeiten ausgelöst werden.
Mein Problem ist das Standardmäßig das Timers_Elapsed Ereignis aus einem anderen Threadkontext aufgerufen wird. Die Abarbeitung soll im Hauptthread durchgeführt werden.
Ich würde also gern aus dem Timers_Elapsed Ereignis meinen Hauptthread benachrichtigen. Wie stellt man so etwas an?
Ich weiss das ich dem Timer ein Synchronisierungsobjekt zuweisen kann, in dessen Kontext die Ereignisbehandlung durchgeführt wird. Dazu müsste ich dann allerdings die ISynchronizeInvoke Schnittstelle implementieren, da ich ein eigenes Objekt habe welche die Schnittstelle nicht standardmässig besitzt. Leider weiss ich nicht wie das funktioniert, noch habe ich ein Beispiel dazugefunden.
Anmerkung - es geht hier nicht um Steuerelemente(Controls).
Ich hoffe es weiss jemand Rat oder gute Quellen
