Hallo an alle,
bin hier ein absoluter Neuling und bin mir nicht ganz sicher, ob dieses Thema hier an der richtigen Stelle ist. Ich bitte um Verzeihung, sollte das nicht der Fall sein.
Also dann zum Problem:
Und zwar bin ich momentan dabei einen Dienst zu programmieren, der einige TCP-Strings empfängt und dann etwas damit macht. Jedoch sollen diese TCP-Strings nur dann ausgewertet werden wenn der Dienst quasi scharf geschaltet ist.
In meiner Datenbank(MSSQL) speichere ich meine Zeiträume in denen der Dienst scharf sein soll wie folgt:
nvarchar(50) int int time(1) time(1)
Wochentag Rollenzahl Rollenindex Startzeit Endzeit
Montag 1 1 07:00:00 18:00:00
Dienstag 2 1 07:00:00 12:30:00
Dienstag 2 2 15:30:00 20:00:00
Da die Phasen nie so lange sind hatte ich vor einen Timer zu nehmen.
Nun ist mir aber nicht ganz klar wie ich die DateTimes zu bilden habe, denn ich speichere kein Datum.
Quelltext
1: 2: 3:
| Erst hatte ich es dann mit folgendem versucht: Timer a = new Timer; a.Interval = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Days, <Stunden aus DB>, <Minuten aus DB>, <Sekunden aus DB>) - DateTime.Now).TotalMilliseconds(); |
Dies haut bei einem Tages-/Monats-/Jahreswechsel nicht hin. Und der Dienst soll 24/7/365 im Einsatz sein.
Hättet ihr vielleicht eine bessere Variante oder Ideen wie ich die Probleme umschiffen und den Dienst so realisieren kann?
Danke im vorraus