インターネットに接続されていない事前設定されたコンピューターで学生向けのインタラクティブな試験セッションを実施するアプリがあります。アプリは、試験中のユーザー入力やシステムメトリックなどを記録し、このデータを保存するための段階的なアプローチに従って、突然のクラッシュや停電によって試験全体のセッションデータが破壊されないようにします。
アプリは毎秒データをタイムスタンプ付きの新しいファイルにシリアル化し、セッションの最後にすべてをまとめてコンパイルして、ATOMICトランザクションとしてマークします。これは正常に機能します。
私がやりたいのは、UPSによってトリガーされるシャットダウンの開始、ユーザー自身が誤って電源を切るボタンを押すなどの予期しないシナリオに対応するためにアプリをより堅牢にすることです。 OSがクラッシュしたり、電力線が壊れたりした場合に実行します。
私が探しているのは:
- シャットダウンの開始、ラップトップにとって重要なバッテリーレベルなど、サブスクライブするイベントの包括的なリスト。
- .NET 4(任意の言語)でこれらのイベントをサブスクライブする方法。