Ich habe ein Timer-Ereignis erstellt versuchen, im Hintergrund von meinem Web-API zu laufen, fand ich es funktioniert gut, wenn ich Debugger auf lokalen Dev-Maschine. Der Timer funktioniert jedoch nicht, wenn ich sie zu IIS auf dem Server hinzugefügt habe. Es stoppt, nachdem die erste Web-Anfrage beendet ist (Ich habe es getestet, indem ich etwas Text in Log-Dateien geschrieben habe, es scheint nach ein paar Triggern gestoppt zu sein, sobald die Web-Anfrage abgeschlossen ist) Hier ist ein Beispiel-Code.Timer-Ereignis in Web-API
void refreshTimeStart()
{
refreshTimer = new System.Timers.Timer(Convert.ToInt32(ConfigurationManager.AppSettings["TIMER_INTERVAL"]));
refreshTimer.Elapsed += new ElapsedEventHandler(connectionResetEvent);
refreshTimer.AutoReset = true;
refreshTimer.Enabled = true;
}
void connectionResetEvent(object source, ElapsedEventArgs e)
{
testIndex = testIndex + 1;
WriteToFile(testIndex);
}
static void WriteToFile(int i)
{
string text = "This start trigged. ";
System.IO.File.WriteAllText(@"C:\Projects\abc" + i.ToString() + ".txt", text);
}
Irgendeine Idee, wie man das erreicht? Danke vielmals.