Ich möchte einen Timer anstelle von Schlaf in einem Windows-Dienst verwenden, die eine Aktion in einem konstanten Intervall durchführen sollte.mit Timer innerhalb Windows-Dienst
Lets sagen, dass ich die folgende Klasse habe.
class MailManagerClient
{
//fields
string someString
//Constructor
public MailManagerClient()
{
aTimer = new System.Timers.Timer(30000);
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Enabled = true
}
//methode
public bool DoSomthingIncConstantInterval()
{
//Do Somthing
return true;
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
DoSomthingIncConstantInterval()
}
}
Und ich habe auch einen Windows-Dienst mit der OnStart
Methode.
Ich verstehe, dass in der OnStart
Methode muss ich einen neuen Thread für den Typ MailManagerClient
starten.
Aber wie starte ich den Thread? Welche Methode sollte der Einstiegspunkt für den neuen Thread sein?
Wie soll der Thread am Leben bleiben?
Vielleicht sollten Sie quartz.net anschauen, ich denke, es wird Ihrem Zweck viel besser dienen. – alxbrd
Observable.Timer in [System.Reactive.Linq] (http://msdn.microsoft.com/en-us/library/hh229435 (v = vs.103) .aspx) ist etwas anderes zu prüfen. –