Hallo zusammen,
meine C#-Datenbankanwendung läuft auf PCs mit USV.
Für alle, die nicht wissen, was eine USV ist: Eine USV (= Unterbrechungsfreie Stromversorgung) ist ein Akku mit etwas Intelligenz drum herum, der im Falle eines Stromausfalls den PC noch eine Weile am Leben halten kann und dann gezielt herunterfährt.
Ich bin mir nicht sicher, wie USVs normalerweise arbeiten:
Schießen USVs die Prozesse knallhart ab und fahren Windows dann herunter?
Werden die Programme davor ordnungsgeäß beendet?
Ich vermute eher ersteres oder letzteres mit Timeout, damit Windows in jedem Fall herunterfährt bevor der Akku leer ist.
Im "Window_Close"-Ereignis frage ich nach, ob die Software beendet werden soll. Beim Herunterfahren des PCs ohne USV erscheint diese Nachfrage nicht. Mit habe ich es noch nicht testen können.
Wie kann ich denn auf die USV reagieren und die Datenbanken gezielt schließen, sodass keine beschädigten Datenbanken entstehen? Geht sowas mit dem
SystemEvents.SessionEnding-Ereignis?
Grüße
Matze